using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Diagnostics;
using System.Web;namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Encoding encoding = Encoding.GetEncoding("GB2312");
string selectInfo = System.Web.HttpUtility.UrlEncode(textBox1.Text, encoding);
;
string url="http://www.baidu.com/s?";
string urlSelet = url + "wd=" + selectInfo;
string strResult = "";
Console.WriteLine(urlSelet);
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlSelet);
//声明一个HttpWebRequest请求
request.Timeout = 10000;
//设置连接超时时间
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
StreamReader streamReader = new StreamReader(streamReceive, encoding);
strResult = streamReader.ReadToEnd();
MessageBox.Show("OK");
}
catch (Exception exp)
{
MessageBox.Show("出错:" + exp.Message); }
}
}
}以上是我的一段代码,就是有一个输入框,输入要检索的关键字,组合为一个URL到百度去检索,但是不知道为什么老是报操作超时这样的错误。哪位好人帮帮我吧。
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Diagnostics;
using System.Web;namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Encoding encoding = Encoding.GetEncoding("GB2312");
string selectInfo = System.Web.HttpUtility.UrlEncode(textBox1.Text, encoding);
;
string url="http://www.baidu.com/s?";
string urlSelet = url + "wd=" + selectInfo;
string strResult = "";
Console.WriteLine(urlSelet);
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlSelet);
//声明一个HttpWebRequest请求
request.Timeout = 10000;
//设置连接超时时间
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
StreamReader streamReader = new StreamReader(streamReceive, encoding);
strResult = streamReader.ReadToEnd();
MessageBox.Show("OK");
}
catch (Exception exp)
{
MessageBox.Show("出错:" + exp.Message); }
}
}
}以上是我的一段代码,就是有一个输入框,输入要检索的关键字,组合为一个URL到百度去检索,但是不知道为什么老是报操作超时这样的错误。哪位好人帮帮我吧。
解决方案 »
- 关于FtpWebRequest超时问题?
- 两个listview加载的数据一样,我想通过选listview1上的行 来选listview2上的行(同时我想改变listview2上的图标)
- 用户层、业务层、数据库,分别在不同的三台机器上。
- 怎么样用codesmith同时生成多个持久化类文件?
- 使用updater application block实现智能客户端的问题
- 自定义DataGrid显示内容的问题
- 急切!!!求源代码:据说跟反射有关,我也不懂。
- C# 关于线程的问题
- svn 方法 OPTIONS 失败于 “http://vmtemp/svn/test”: 无法连接到服务器 (http://vmtemp)
- 为什么wpf开发里面没有事件这个按钮了
- 急!!!!!!WCF配置文件
- 关于串口的问题
到这里就停了,这里有问题吗?不知道怎样改啊。
request.Method = "GET";你是说加上这两句吗?不好用啊
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
到这里就报
另外还需要设置 UserAgent
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://www.baidu.com/s?wd=%C8%FD%BB%AF%CD%F8");
webRequest.Method = "GET";
webRequest.UserAgent = "Opera/9.25 (Windows NT 6.0; U; en)";
HttpWebResponse webResponse =(HttpWebResponse)webRequest.GetResponse();
using (System.IO.Stream stream = webResponse.GetResponseStream())
{
using (System.IO.StreamReader reader = new StreamReader(stream,System.Text.Encoding.GetEncoding(936)))
{
Response.Write(reader.ReadToEnd());
}
}
truelove12代码很正确,但是你能给我解释一下吗?不是很明白,谢谢!!!!
{
_webReq = WebRequest.Create(url) as HttpWebRequest;
_webReq.Timeout = TimeOut;
_webReq.Method = "Get";
_webReq.KeepAlive = false;
_webReq.UserAgent = "MSIE 7.0; Windows NT 5.1"; return _webReq.GetResponse().GetResponseStream();
}
catch (Exception ex)
{
return null;
}