关于HttpWebRequest的疑问

ahchiee 2003-10-17 01:46:54
我要写一个向服务器发http请求的客服端
其中的程序如下:
string strURL = "http://xxx.xxx.com/cgi-bin/xxxx?a=...&b=.../"
HttpWebRequest myReq =(HttpWebRequest)WebRequest.Create(strURL);
HttpWebResponse myResponse = (HttpWebResponse)myReq.GetResponse();
...
...

问题是当a参数和b参数为汉字时,服务器接收到的是乱码,不能正常响应。
我用IE浏览器直接输入URL(http://xxx.xxx.com/cgi-bin/xxxx?a=...&b=.../)
则正常响应,当参数为汉字时也正常。

请问如何解决。难道HttpWebRequest与IE浏览器相比,发出http请求还差了什么东东。
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
2066 2004-03-02
  • 打赏
  • 举报
回复
http://www.csdn.net/Develop/read_article.asp?id=23731
我不懂电脑 2003-10-17
  • 打赏
  • 举报
回复
可以用

HttpResponse.Redirect 方法 语言
C#

C++

JScript

Visual Basic

全部显示


将客户端重定向到新的 URL。

重载列表
将客户端重定向到新的 URL 并指定该新 URL。

[Visual Basic] Overloads Public Sub Redirect(String)
[C#] public void Redirect(string);
[C++] public: void Redirect(String*);
[JScript] public function Redirect(String);
将客户端重定向到新的 URL。指定新的 URL 并指定当前页的执行是否应终止。

[Visual Basic] Overloads Public Sub Redirect(String, Boolean)
[C#] public void Redirect(string, bool);
[C++] public: void Redirect(String*, bool);
[JScript] public function Redirect(String, Boolean);
示例
[Visual Basic, C#] 下面的示例强制无条件重定向到另一个 Web 站点。

[Visual Basic, C#] 注意 此示例显示如何使用 Redirect 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
[Visual Basic]
Response.Redirect("http://www.microsoft.com/gohere/look.htm")
[C#]
Response.Redirect("http://www.microsoft.com/gohere/look.htm");
[C++, JScript] 没有可用于 C++ 或 JScript 的示例。若要查看 Visual Basic 或 C# 示例,请单击页左上角的语言筛选器按钮 。

请参见
HttpResponse 类 | HttpResponse 成员 | System.Web 命名空间



--------------------------------------------------------------------------------

将文档反馈发送给 Microsoft

© 2002 Microsoft Corporation。保留所有权利。
ahchiee 2003-10-17
  • 打赏
  • 举报
回复
那鬼服务器是别人的,是linux+apache,不由俺们控制和操作,只是给个这
个http接口给俺们合作应用。
acewang 2003-10-17
  • 打赏
  • 举报
回复
"服务器接收到的是乱码,不能正常响应"
有没有用Server.UrlEncode()或者修改一下接受页
xingxinglzg 2003-10-17
  • 打赏
  • 举报
回复
up一下
ahchiee 2003-10-17
  • 打赏
  • 举报
回复
老大,不是这样的。我不管返回,只管服务器收到正确的参数,执行。
现在问题是我发送的url请求不能响应,也就是说服务器收到的参数有问题。而
用IE,发此URL,则服务器端能正常响应。
acewang 2003-10-17
  • 打赏
  • 举报
回复
编码:
Stream receiveStream = myHttpWebResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader( receiveStream, encode );

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧