HttpWebRequest超时处理
我有一个非常简单的问题.我使用HTTP Post将文件上传到服务器.问题是我需要特别处理连接超时,并在发生超时后添加一些等待算法以重温服务器. 我的代码非常简单: HttpWebRequest request = (HttpWebRequest)WebRequest.Create("SomeURI"); request.Method = "POST"; request.ContentType = "application/octet-stream"; request.KeepAlive = true; request.Accept = "*/*"; request.Timeout = 300000; request.AllowWriteStreamBuffering = false; try { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) {
0 2024-04-17
编程技术问答社区
我怎样才能在不下载内容的情况下执行GET请求?
我正在处理链接检查器,总的来说,我可以执行HEAD请求,但是有些站点似乎禁用了这个动词真的死了) 我使用以下代码作为我的链接测试器: public class ValidateResult { public HttpStatusCode? StatusCode { get; set; } public Uri RedirectResult { get; set; } public WebExceptionStatus? WebExceptionStatus { get; set; } } public ValidateResult Validate(Uri uri, bool useHeadMethod = true, bool enableKeepAlive = false, int timeoutSeconds = 30) { ValidateResult result = new ValidateResult(); H
0 2024-04-17
编程技术问答社区
System.Net.WebException。该操作已超时
我有一个大问题:我需要一次发送200个对象并避免超时. while (true) { NameValueCollection data = new NameValueCollection(); data.Add("mode", nat); using (var client = new WebClient()) { byte[] response = client.UploadValues(serverA, data); responseData = Encoding.ASCII.GetString(response); string[] split = Javab.Split(new[] { '!' }, StringSplitOptions.RemoveEmptyEntries); string command = split[0]; string serve
0 2024-04-17
编程技术问答社区
HttpWebRequest.GetRequestStream : 它是做什么的?
代码示例: HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://some.existing.url"); request.Method = "POST"; request.ContentType = "text/xml"; Byte[] documentBytes = GetDocumentBytes (); using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(documentBytes, 0, documentBytes.Length); requestStream.Flush(); requestStream.Close(); } 当我做request.GetRequestStream ()时,请求中没有什么可发送的.从该方法的名称和它显示的Int
0 2024-04-17
编程技术问答社区
错误。C# 基础连接已关闭。无法为SSL/TLS安全通道建立信任关系
我正在尝试通过SSL提出请求.该证书已经安装在机器上,可以通过浏览器工作. 我正在使用此请求: System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); byte[] data = encoding.GetBytes(request.Content.OuterXml.ToString()); string password = "XXXX"; X509Certificate2 cert = new X509Certificate2("c:\\zzzz.p12", password); string key = cert.GetPublicKeyString(); string certData = Encoding.ASCII.GetString(cert.Export(X509ContentType.Cert)); Uri uri = new Uri(request.Url); HttpWe
0 2024-04-17
编程技术问答社区
在C#.Net中使用HttpWebRequest异步上传大文件
我想使用httpwebrequest以异步方式上传大型文件. 说我从使用httpwebrequest的音频文件上传,并且在接收器端上应该获取流并播放音频文件. 是否有任何代码或示例可供参考. ? 请提供任何例子. 预先感谢 解决方案 如果您必须使用httpwebrequest,并且假设输入数据流不大,则可以通过这样做来使上传过程异步.请注意,BegingEtresponse实际上是打开与远程服务器的连接并处理上传的要素. public void UploadAsync() { var data = GetStream("TestFile.txt"); var request = (HttpWebRequest)WebRequest.Create(new Uri("http://example.com/UploadData")); request.Method = "POST"; data.CopyTo(request
0 2024-04-17
编程技术问答社区
HttpWebRequest假装成一个浏览器请求?
我有一些代码(在winform应用中),读取此url 使用 C0>. 由于某种原因,它最近开始返回 500 从我的应用程序请求时内部错误. (响应包含导航的一些HTML,但没有我需要的主要内容) 在firefox/chrome/ie上,它仍在返回 200 好的. 问题是我无法控制他们的代码,我不知道它在后端时会在我的应用程序中要求时破裂. 有没有办法"假装"从Google Chrome提出请求? (只是为了避免错误) 解决方案 设置 httpwebrequest.useragent 属性为真实浏览器的用户代理的值. HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create("http://example.com"); webRequest.UserAgent = @"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.
0 2024-04-17
编程技术问答社区
C#从URL中获取HTML。错误(429)未知
我正在使用以下代码从URL检索HTML代码.它适用于url as: "远程服务器返回错误:(429)未知.'" 错误或如何获取有关错误的更多信息? private void getHtmlFromUrl() { string urlAddress = "https://trends.google.es/trends/explore?q=test&geo=US"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream receiveStream = response.GetRespo
0 2024-04-17
编程技术问答社区
Fiddler使HttpWebRequest/HttpClient行为出乎意料
只是想询问在启动Fiddler时尝试将某些文件上传到服务器时,是否遇到使用HTTPWebrequest类(甚至是新的HTTPCLIENT)的问题. 我遇到了该错误,即允许WritestreamBuffering httpwebrequest的属性 class class class在提琴手启动时不起作用,因此上传进度根本不起作用.字节不是立即发送的,而是即使我将允许WritestreamBuffering设置为true,也无法跟踪,因此我无法跟踪上传进度.当没有启动提琴手时,这是可以的. 此外,如果我在应用程序上传某些文件时关闭提琴手,它也会崩溃,抛出webexception,上面写着" 基础连接已关闭:接收到上的出乎意料的错误." . > 新.NET 4.5 httpclient class也发生了同样的事情. 解决方案 对不起. Fiddler当前仅支持响应的流而不是请求. 一些代理(例如提琴手)或其他中介机构将在将请求发送到服务器上以进行性能或功能(例如
0 2024-04-17
编程技术问答社区
在C#中从Webrequest中保存图像
我正在使用jQuery网络摄像头插件与我的页面中的网络摄像头进行通信并拍摄快照.它的工作方式是与闪光辅助器进行通信.为了保存图片,它将以另一页的名称,并将Web请求发送到该页面.我成功收到另一个请求.我想从该请求中保存图像. 解决方案 我已经做到了,它对我有用. protected void Page_Load(object sender, EventArgs e) { string strFile = DateTime.Now.ToString("dd_MMM_yymmss") + ".jpg"; FileStream log = new FileStream(Server.MapPath(strFile), FileMode.OpenOrCreate); byte[] buffer = new byte[1024]; int c; while ((c = Request.I
0 2024-04-17
编程技术问答社区
HttpWebRequest中的 "无法连接到远程服务器失败"
我正在使用VSTS 2008 + C# + .NET 3.5来开发控制台应用程序,然后将请求发送到另一台服务器(Windows Server 2008上的IIS 7.0).我发现何时请求线程很大(例如2000个线程),客户将在调用响应=(httpwebresponse)request.getResponse()时接收错误"无法连接到远程服务器失败".我的困惑是 - 我有将超时设置为一个很大的价值,但是我在一分钟内收到了这样的失败消息.我认为,即使连接确实比IIS可以提供​​的连接更大,客户也不应该这么快地收到此类失败消息,它也应该在超时期之后收到此类消息.任何意见?有什么想法怎么了? IIS 7.0提供更多并发连接的想法? 这是我的代码 class Program { private static int ClientCount = 2000; private static string TargetURL = "http://l
0 2024-04-17
编程技术问答社区
在WinRT和C#中使用HttpRequestHeaders
我正在使用httpwebrequests联系API并需要添加标头,但编译器告诉我该方法不存在. 但是,当我检查MSDN时,它告诉我该方法已经存在. 设置我的Useragent-Property也会失败. 有人可以帮我吗? try{ HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(url); wr.Method = "GET"; wr.Headers.Add(System.Net.HttpRequestHeader.Authorization, string.Format("Bearer {0}", _accessToken)); wr.UserAgent = _appNameAndContact; var resp = (System.Net.HttpWebResponse) await wr.BetterGetResponse(); if (r
0 2024-04-17
编程技术问答社区
从一个URL获取图片,但它没有被完全加载
我正在尝试从URL获取图像,但是当我将其保存到文件中时,它是实际图像的一半!我已经搜索了许多站点和解决方案,例如httpwebrequest.beghetresponse,因为我认为这是因为我必须缓冲数据,但它不起作用.我不知道我的代码的哪一部分是错误的,并且解决了这个问题!:( 这是从URL检索图像的代码: public static Bitmap GetImageFromUrl(string url) { string RefererUrl = string.Empty; int TimeoutMs = 22 * 1000; string requestAccept = "*/*"; string UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7"
0 2024-04-16
编程技术问答社区
C#使用HttpWebRequest在POST中逃避加号(+)。
我有问题发送发布数据,其中包含诸如密码字段中的"+"之类的字符, string postData = String.Format("username={0}&password={1}", "anyname", "+13Gt2"); 我正在使用httpwebrequest和一个webbrowser来查看结果,当我尝试使用httpwebrequest从我的c#winforms登录时,将数据发布到网站上,它告诉我密码不正确. (在源代码[Richtexbox1]和WebBrowser1中).用我的另一个帐户尝试不包含"+"字符,它可以正确登录(使用字节数组并将其写入流) ) byte[] byteArray = Encoding.ASCII.GetBytes(postData); //get the data request.Method = "POST"; request.Accept = "text/html"; request.ContentType = "appli
0 2024-04-16
编程技术问答社区
流读/写超时导致无效操作异常
我正在尝试使用: 从API获得请求 RestClient client = new RestClient("https://gds.eligibleapi.com/v1.5/coverage/all?api_key=" + apiSecret + "&payer_id=" + payerID + "&service_provider_organization_name=" + providerOrgName + "&provider_npi=" + NPI + "&member_id=" + ptPolicyID + "&member_first_name=" + ptFirstName + "&member_last_name=" + ptLastName + "&member_dob=" + ptDOB + &date=" + DOS + "&service_type=" + serviceType + "&format=x12");
0 2024-04-16
编程技术问答社区
401 在第二个HttpClient/HttpWebRequest调用时未被授权
我有一个使用SharePoint 2010 REST API的应用程序. 在创建项目的过程中,彼此之间有多个请求: 1呼叫:从列表中获取项目:成功 2调用:创建项目:401未授权 如果我这样做是一样的: 1调用:创建项目:成功 2调用:删除项目:401未授权 我所知道的是,我的功能单独起作用, 在彼此呼唤时不起作用. 创建项目后关闭应用程序(Windows Phone 8.1应用程序)时,重新启动时尝试删除其有效的项目. 首先,我认为这与我处理领域的方式有关 public async Task CreateNewItem(NewItem myNewItem) { try { StatusBar statusBar = await MyStatusBar.ShowStatusBar("Creating new List Item.");
0 2024-04-16
编程技术问答社区
如何使用一个自定义动词进行HTTP请求?
为了测试API,我希望能够使用自定义动词(例如" recompute'')Å进行HTTP请求,除了获取,发布,张贴,放置,删除,选项,选项,head,trace和connect. 是否有一个库,或者我必须使用HttpWebRequest和HttpWebResponse? 重新发明轮子 答案另一个不太具体的问题,建议几个库,没有我需要的东西: WebClient不支持自定义动词, easyhttp限制为五个动词, httpclient似乎没有维护(版本0.6.0,两年前发布). ¹预计诸如"使用非标准动词是一个坏主意"之类的评论时,我无能为力.我正在使用私人API,可以选择使用自定义动词. 解决方案 看.net 4.5中的System.Net.Http.HttpClient类.它不仅支持常见的方法,而且还允许您指定自己的方法. 使用HttpMethod类构建自己的动词. var method = new HttpMethod("RECOMP
0 2024-04-16
编程技术问答社区
发送xml请求到url,并接收xml响应回来
我正在尝试将XML请求发送到URL,并且响应也将是XML响应.我知道如何从MVC应用程序中调用服务端点,但是我不确定如何调用此URL以及如何阅读它将给我的内容.这就是我到目前为止的.这是正确的方向吗? 请求: 90210 响应: 90210 BEVERLY HILLS CA c#代码: var xmlRequest = new XElement("CityStateLookupRequest",
0 2024-04-16
编程技术问答社区
C#-httpWebRequest流的大小是否有限制?
我正在尝试构建一个应用程序,该应用程序使用httpwebrequests从自定义网络服务器下载一个小的二进制文件(20-25 kb). 这是服务器端代码: Stream UpdateRequest = context.Request.InputStream; byte[] UpdateContent = new byte[context.Request.ContentLength64]; UpdateRequest.Read(UpdateContent, 0, UpdateContent.Length); String remoteVersion = ""; for (int i = 0;i
0 2024-04-16
编程技术问答社区