using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using Winista.Text.HtmlParser; using Winista.Text.HtmlParser.Util; using Winista.Text.HtmlParser.Http; using Winista.Text.HtmlParser.Visitors; using Winista.Text.HtmlParser.Filters; using Winista.Text.HtmlParser.Tags; using Winista.Text.HtmlParser.Lex; using Winista.Text.HtmlParser.Nodes; namespace MSNPSharpClient.SearchIP { class SearchIP { public string GetSearchIP(string IP) { GetSearchIPHtmlCode getUrlAndHtmlCode = new GetSearchIPHtmlCode(); string str = ""; Lexer lexer = new Lexer(getUrlAndHtmlCode.getSearchIPHtmlCode(IP)); Parser myparser = new Parser(lexer); NodeFilter filter = new NodeClassFilter(typeof(TableTag)); NodeList nodelist = myparser.ExtractAllNodesThatMatch(filter); str = nodelist.ElementAt(2).ToPlainTextString(); string strInfo = ""; Char[] c = str.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i].ToString() != "/n" && c[i].ToString() != "/t" && c[i].ToString() != "/r") { strInfo += c[i].ToString().Trim(); } } int m = nodelist.Count; strInfo = strInfo.Replace(" ", ""); strInfo = strInfo.Replace("如果您发现查询结果不详细或不正确,请使用IP数据库自助添加功能进行修正", ""); //ip138.com IP查询(搜索IP地址的地理位置) strInfo = strInfo.Replace("ip138.comIP查询(搜索IP地址的地理位置)", ""); //Console.WriteLine(strInfo); //Console.ReadKey(); return strInfo; } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; namespace MSNPSharpClient.SearchIP { class GetSearchIPHtmlCode { public string getSearchIPUrl(string IP) { Encoding gb2312 = Encoding.GetEncoding("gb2312"); //string SimplifiedChinese=Strings.StrConv(City);//繁體轉換成簡體失敗 string strIP = System.Web.HttpUtility.UrlEncode(IP, gb2312); //http://www.ip138.com/ips.asp?ip=25.205.25.23 string IDSearchUrl = "http://www.ip138.com/ips.asp?ip=" + strIP; //Console.WriteLine(CityUrl); //Console.ReadKey(); return IDSearchUrl; } public string getSearchIPHtmlCode(string IP) { string url = getSearchIPUrl(IP); WebClient webclient = new WebClient(); webclient.Encoding = Encoding.Default; string htmlcode = webclient.DownloadString(url); return htmlcode; } } }
MSNP-Sharp是一个能与MSN Messenger(现Windows Live Messenger)服务连接并向客户端编程人员提供相应的IM服务的“中间件”,其前身为DotMSN。它面向.NET开发人员,能使开发人员开发各种基于 Windows Live Messenger服务的客户端程序,例如MSN机器人和开发自己的MSN客户端。 MSNPSharp支持MSN绝大部分的功能,包括:聊天,发
現在去找一些 Ruby 程式碼閱讀一下。你需要自己找程式碼,然後從中學習一些東西。你學到的東西已經足夠讓你看懂一些程式碼了,但你可能還無法理解這些程式碼的功能。這節課我要教給你的是:如何運用你學到的東西理解別人的程式碼。 首先把你想要理解的程式碼印到紙上。沒錯,你需要印出來,因為和螢幕輸出相比,你的眼睛和大腦更習慣於接受紙質列印的內容。一次最多列印幾頁就可以了。 然後通讀你列印出來的代碼並做好標記
Jenkins 作為一個持續整合的工具,與原始碼管理系統的整合尤其重要。在這個章節內,我們會介紹如何在 Jenkins 上透過原始碼管理 (source code management, SCM) 系統,例如 GitHub 來獲得專案的原始碼,並設置建置觸發程序 (build triggers) 來實踐持續整合。 接下來我一樣會使用這個專案來當作範例。我要利用 ansible-lint 這個語法檢
好大的一個標題。接下來我要教你「函式 (function)」了!咚咚鏘!說到函式,不一樣的人會對它有不一樣的理解和使用方法,不過我只會教你現在能用到的最簡單的使用方式。 函式可以做三件事情: 它們可以給程式碼片段取名,就跟「變數」給字串和數字命名一樣。 它們可以接受參數,就跟你的腳本接受 ARGV 一樣。 通過使用 #1 和 #2 ,他們可以讓你創造出「迷你腳本」或者「微命令」。 你可以在 Rub
代理 proxy 创建一个继承了指定类并且/或者实现了0个或者多个接口的类的对象。这对于创建那种必须要实现某个接口才能得到通知的listener对象很有用。举一个例子, 大家可以看下面 “Desktop Applications” 那一节的例子。那里我们创建了一个继承JFrame类并且实现ActionListener接口的类的对象。
问题 你构建了一个自定义容器对象,里面包含有列表、元组或其他可迭代对象。 你想直接在你的这个新容器对象上执行迭代操作。 解决方案 实际上你只需要定义一个 __iter__() 方法,将迭代操作代理到容器内部的对象上去。比如: class Node: def __init__(self, value): self._value = value self._ch
11.3 编写代码 要完成我们的程序,我们需要创建一个Java文件。默认情况下,Maven会编译src/main/java目录下的源文件,因此您需要创建该目录结构,然后添加一个名为src/main/java/Example.java的文件: import org.springframework.boot.*; import org.springframework.boot.autoconfigur
11.1 Java 源文件示例 下面的例子,展示了如何合理布局一个包含单一公共类的Java源程序。接口的布局与其相似。更多信息参见 "类和接口声明" and "文档注释" /* * @(#)Blah.java 1.82 99/03/18 * * Copyright (c) 1994-1999 Sun Microsystems, Inc. * 901 S