Loading... <p>在这里把三种获取网页内容的信息进行了综合,在前面已经对通过表单提交上传文件进行了处理,现在把这三种方式进行了综合,放到一块,帮助大家进行一个比较,下面为三种方式 的部分代码:</p> <p>一共三个函数,都可以直接调用,但是在访问网络的时候,记得要加上访问权限 </p> <div class="cnblogs_code"> <div id="cnblogs_code_open_dfd03b2c-2e46-473e-b365-bd609d9cd8e7" class="cnblogs_code_hide" style="display: block;"> <pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;"> </span><span style="color: #008000;">//</span><span style="color: #008000;"> 直接获取信息</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> DirectInfo() </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> IOException {<br /><br /> URL url </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> URL(SRC);<br /><br /> HttpURLConnection httpConn </span><span style="color: #000000;">=</span><span style="color: #000000;"> (HttpURLConnection) url.openConnection();<br /><br /> InputStreamReader inStreamReader </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> InputStreamReader(httpConn<br /> .getInputStream());<br /><br /> BufferedReader bufReader </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> BufferedReader(inStreamReader);<br /><br /> String line </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">""</span><span style="color: #000000;">;<br /> String Date </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">OK</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br /> </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> ((line </span><span style="color: #000000;">=</span><span style="color: #000000;"> bufReader.readLine()) </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">null</span><span style="color: #000000;">) {<br /> Date </span><span style="color: #000000;">+=</span><span style="color: #000000;"> line </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br /> }<br /><br /> edit1.setText(Date);<br /><br /> }<br /><br /> </span><span style="color: #008000;">//</span><span style="color: #008000;"> get方式获取信息</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> getInfo() </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> IOException {<br /> </span><span style="color: #008000;">//</span><span style="color: #008000;"> 将上面使用的方法直接修改一下即可。</span><span style="color: #008000;"><br /></span><span style="color: #000000;"><br /> URL url </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> URL(SRC</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">/default.aspx?NAME=</span><span style="color: #000000;">"</span><span style="color: #000000;"><br /> </span><span style="color: #000000;">+</span><span style="color: #000000;"> URLEncoder.encode(</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br /> HttpURLConnection httpconn </span><span style="color: #000000;">=</span><span style="color: #000000;"> (HttpURLConnection) url.openConnection();<br /><br /> InputStreamReader inputReader </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> InputStreamReader(httpconn<br /> .getInputStream());<br /><br /> BufferedReader bufReader </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> BufferedReader(inputReader);<br /><br /> String line </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">""</span><span style="color: #000000;">;<br /> String Date </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">""</span><span style="color: #000000;">;<br /><br /> </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> ((line </span><span style="color: #000000;">=</span><span style="color: #000000;"> bufReader.readLine()) </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">null</span><span style="color: #000000;">) {<br /> Date </span><span style="color: #000000;">+=</span><span style="color: #000000;"> line;<br /> }<br /><br /> edit1.setText(Date);<br /><br /> }<br /><br /> </span><span style="color: #008000;">//</span><span style="color: #008000;"> Post方式获取信息</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> postInfo() </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> MalformedURLException, IOException {<br /> </span><span style="color: #008000;">//</span><span style="color: #008000;"> Post 方法比Get方法需要设置的参数更多</span><span style="color: #008000;"><br /></span><span style="color: #000000;"><br /> HttpURLConnection httpconn </span><span style="color: #000000;">=</span><span style="color: #000000;"> (HttpURLConnection) </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> URL(SRC)<br /> .openConnection();<br /> </span><span style="color: #008000;">//</span><span style="color: #008000;"> post 方式,输入输出需要设置为true</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> httpconn.setDoInput(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br /> httpconn.setDoOutput(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br /> httpconn.setRequestMethod(</span><span style="color: #000000;">"</span><span style="color: #000000;">POST</span><span style="color: #000000;">"</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> 设置为Post方式,默认为get方式</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> httpconn.setUseCaches(</span><span style="color: #0000ff;">false</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> 不使用缓存</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> httpconn.setInstanceFollowRedirects(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> 重定向</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> httpconn.setRequestProperty(</span><span style="color: #000000;">"</span><span style="color: #000000;">Content-type</span><span style="color: #000000;">"</span><span style="color: #000000;">,<br /> </span><span style="color: #000000;">"</span><span style="color: #000000;">Application/x-www-form-urlencoded</span><span style="color: #000000;">"</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> 设置连接 的Content-type类型为:<br /> </span><span style="color: #008000;">//</span><span style="color: #008000;"> application/x-www-form-urlencoded</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> httpconn.connect(); </span><span style="color: #008000;">//</span><span style="color: #008000;">连接</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> <br /> DataOutputStream out </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> DataOutputStream(httpconn.getOutputStream()); </span><span style="color: #008000;">//</span><span style="color: #008000;">声明数据写入流</span><span style="color: #008000;"><br /></span><span style="color: #000000;"> <br /> String content </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">NAME=</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">URLEncoder.encode(</span><span style="color: #000000;">"</span><span style="color: #000000;">fly_binbin</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">"</span><span style="color: #000000;">gb2312</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> <br /> out.writeBytes(content);<br /> <br /> out.flush();<br /> out.close();<br /><br /> BufferedReader reader </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> BufferedReader(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> InputStreamReader(httpconn.getInputStream()));<br /> <br /> String line </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">""</span><span style="color: #000000;">;<br /> String resultDate </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">""</span><span style="color: #000000;">;<br /> </span><span style="color: #0000ff;">while</span><span style="color: #000000;">((line</span><span style="color: #000000;">=</span><span style="color: #000000;">reader.readLine())</span><span style="color: #000000;">!=</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br /> {<br /> resultDate </span><span style="color: #000000;">+=</span><span style="color: #000000;"> line;<br /> }<br /> edit1.setText(resultDate);<br /><br /> }</span></div></pre> </div> </div> <p> 网址的话,可以自己做一个测试服务器。我这个测试服务器是我自己写的,进行测试用的,用Asp.net写的,用其它的方法写的结果是一样的。包括使用Web服务结果也是一样的!</p> 相关文章 CentOS7 + 宝塔环境搭建 Gogs 私人Git 仓库 Centos7 下安装Golang IdHTTP组件提交表单及登录源码(强制使用http 1.1) Last modification:July 9th, 2011 at 11:38 am © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat