Tag: httpwebrequest

WP7(windows phone 7)HttpWebRequest丢失POST数据

我发送了大量的POST数据(超过5000个字符),似乎WP7 HttpWebRequest正在丢失这个过程中的一些内容…… 数据是png转换为字节数组,然后转换为base64字符串。 如果我的数据是4941个字符长,它将只发送1448个字符,请求的内容长度(通过wiresharkvalidation)很好(Content-Length:4991)。 我如何发送数据: void SendPost() { // Create the web request object HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.Method = “POST”; webRequest.ContentType = “application/x-www-form-urlencoded”; // Start the request webRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), webRequest); } void GetRequestStreamCallback(IAsyncResult asynchronousResult) { HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState; // End the stream request operation Stream postStream = webRequest.EndGetRequestStream(asynchronousResult); // Create the post data […]

HTTP连接池是否可行?

对于与一组有限的其他服务器联系的C#webservice,我希望为每个服务器创建一个我希望能够联系的HTTP连接池。 课程的基本概念: 每个池应该打开几个连接(3个连接?)到它的远程网络服务器,并保持这些连接活着。 应该使用最长生命周期来回收(断开/重新连接)与远程Web服务器的连接,防止远程Web服务器在我们之前断开连接。 不应同时创建连接,而是在3个连接之间稍微停顿,因此回收也不会同时发生。 如果远程Web服务器仍然意外断开连接,应该注意它,我们应该重新连接。 如果由于某种原因无法重新连接,则应在稍微暂停后重试。 这样,当我想发送HttpWebRequest时,我就有了现成的连接,在我想要使用它的时候节省了建立连接的时间。 目前我不知道这是否是HttpWebRequest的默认function。 很抱歉,如果我要求显而易见的话。 谷歌搜索这只导致我对Java的类似问题。 问题1:.NET / c#中是否存在这样的问题? 问题2:如果没有,你知道吗?互联网上是否有关于此礼物的资源? 问题3:如果没有,如何自己建设一个?

两次服务器500错误后,C#HttpWebRequest超时

在我生成两个由于“(500)内部服务器错误500”而引发exception的C#HttpWebRequests之后,第三次尝试抛出超时exception。 为什么不抛出另一个(500)内部服务器错误exception? 当我重新启动我的应用程序时,它会抛出两个500错误,然后再次开始超时。 这是我的代码: GetPages GetPages = new GetPages(); string test = GetPages.GetPage(); /* Exception: (500) Internal Server Error */ GetPages.Dispose(); GetPages GetPages = new GetPages(); string test = GetPages.GetPage(); /* Exception: (500) Internal Server Error */ GetPages.Dispose(); GetPages GetPages = new GetPages(); string test = GetPages.GetPage(); /* Exception: time out, why? */ GetPages.Dispose(); 这是GetPages类和GetPage方法: […]

如何将基本身份validation标头添加到WebRequest

我有一个基本的WCF服务,我想用HttpWebRequest测试它。 问题是我使用基本身份validation。 如何使用基本身份validation添加标头? 到目前为止,这是我的代码: var request = (HttpWebRequest)WebRequest.Create(url); 谢谢

C# – 如何通过HTTP读取连续的XML流

我试图找出从服务中获取连续XML数据流的最佳方法,该服务将数据作为HTTP上的“常量”提要发送。 我正在考虑使用HttpWebRequest / Response,但我不确定如果数据只是连续流式传输会如何。 有什么想法吗?

Http Post Request Message Body中的C#Xml

我正在寻找一个示例,在C#中如何将xml文档放在http请求的消息体中,然后解析响应。 我已经阅读了文档,但我想看一个例子,如果有一个可用的。 有没有人有例子? 谢谢

上传到imgur.com

Imgur是一个图片上传网站,提供上传的API 我的代码看起来与它们提供的PHP代码完全相同。 但是,在他们的PHP代码中,他们是http_build_query($pvars); 看起来他们在发布之前会对他们的查询进行URLE编码。 编辑:请注意,我已经更改为完整的.NET 3.5而不是客户端配置文件。 这让我可以访问system.web所以我使用了httputliity.urlencode() 。 这使得api返回“失败”并显示“没有图像被发送”。 如果我没有编码,那么API返回一个“okay”,其中包含指向图片的链接,但是没有上传图片(如空白文件)。 如何修复我的代码以适应其API? Image image = Image.FromFile(“C:\\Users\\Affan\\Pictures\\1509310.jpg”); MemoryStream ms = new MemoryStream(); // Convert Image to byte[] image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] imageBytes = ms.ToArray(); WebRequest wb = WebRequest.Create(new Uri(“http://imgur.com/api/upload.xml”)); wb.ContentType = “application/x-www-form-urlencoded”; wb.Method = “POST”; wb.Timeout = 10000; Console.WriteLine(imageBytes.Length); string parameters = “key=433a1bf4743dd8d7845629b95b5ca1b4&image=” + Convert.ToBase64String(imageBytes); Console.WriteLine(“parameters: ” + […]

通过SSL发送带有HttpWebRequest的请求时出现错误502(错误网关)

我在经典ASP中有以下代码段,用于发送命令并通过SSL检索响应: Dim xmlHTTP Set xmlHTTP = Server.CreateObject(“Msxml2.ServerXMLHTTP.3.0”) xmlHTTP.open “POST”, “https://www.example.com”, False xmlHTTP.setRequestHeader “Content-Type”,”application/x-www-form-urlencoded” xmlHTTP.setRequestHeader “Content-Length”, Len(postData) xmlHTTP.Send postData If xmlHTTP.status = 200 And Len(message) > 0 And Not Err Then Print xmlHTTP.responseText End If 然后我使用此代码作为参考,在c#中重新实现请求: private static string SendRequest(string url, string postdata) { WebRequest rqst = HttpWebRequest.Create(url); // We have a proxy on the domain, […]

在C#中使用https的HttpWebRequest

这段代码不起作用; 它正在登录使用https协议的网站。 如何解决这个问题呢? 代码在GetRequestStream()随时随地停止,表示协议违规exception未处理。 string username = “user”; string password = “pass”; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“https://moje.azet.sk/prihlasenie.phtml?KDE=www.azet.sk%2Findex.phtml%3F”); request.UserAgent = “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)”; Console.WriteLine(request.GetRequestStream()); using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII)) { writer.Write(“nick=” + username + “&password=” + password); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //Retrieve your cookie that id’s your […]

如何解析HttpWebResponse.Headers.Keys返回的Set-Cookie会话ID

我正在尝试使用ASP.NET网站创建一个HttpWebRequest / HttpWebResponse会话,以便稍后通过url params解析HTML表单(这部分我知道该怎么做),但我不明白如何解析和设置cookie如会话ID。 在Fiddler中,它显示ASP.NET会话ID是在对URL的/ path请求的响应中通过Set-Cookie返回的,但是如何提取此会话ID并将其设置为下一个HttpWebRequest的cookie ? 我知道这个Set-Cookie标头可以在HttpWebResponse.Headers.Keys中找到,但有解析它的直接路径吗? 谢谢!