问题标签 [webresponse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2337 浏览

c# - c# .NET Fast (realtime) webresponse reading

我得到了代码,它发送 GET 请求并在流中接收答案。我用流式阅读器读取流以结束。这是代码:

但我不喜欢那个程序等到所有数据都收到后才开始处理响应。如果我可以这样做(伪代码),那就太好了:

我尝试了 streamReader.Read(char[], int32_1, int32_2),但我无法指定 int32_2,因为我不知道我收到了多少个符号。如果我使用 ReadToEnd - 它会等待所有响应加载。

0 投票
1 回答
1196 浏览

c# - 将文件流式传输到外部 SharePoint 时的上次修改属性

我目前正在使用一种 Windows 服务,该服务可以从特定位置移动文件,并使它们与 SharePoint 文档库保持同步。

上传/同步/等功能运行良好,但我遇到了文件属性问题。上传时(下面的代码示例)文件 LastModified 属性设置为文件上传的时间。如果我直接将文件复制/粘贴到目录中,情况并非如此。

我已经研究过在上传后只更改属性的可能性,但这并不理想。从测试来看,这似乎是由于流被“构建”为另一端的新文件造成的?有没有办法用文件发送文件属性?

编辑 - 附加信息

总结一下我在下面的答案中留下的评论:

我也注意到,因为我发布了 Sharepoint 将信息列为新信息的问题,即使您直接复制它,因为它基于数据库信息(我相信?)。我已经调查过了File.SetLastWriteTime,但似乎 SharePoint 不喜欢我触摸东西。

我也尝试使用 SharePoint 调用设置特征和上传文件,但由于我发布到外部 SharePoint 实例,除非我走这WebRequest条路线,否则我无法进行身份验证。

0 投票
2 回答
2095 浏览

c# - C#:发布登录数据以形成和处理网站的响应

我正在尝试编写一个 C# 程序来延长我在大学图书馆中的书籍的截止日期。我想要做的是以下内容: 1.)通过 WebRequest 和 POST 方法登录图书馆网站,在 C# 程序中输入用户名和密码 2.)获取包含加密密码和纯文本的“查看借阅书籍”站点的 url username 作为 GET 参数 3.) 下载命名页面的内容以在 C# 程序中显示给用户 4.) 如果用户在程序中按下相应的按钮,则向网站提交延期表格,以一次延期所有媒体。

现在我被困在 1 和 2 之间,我似乎能够连接到网站并输入用户数据,但我得到的 WebResponse 再次是登录页面(如果您在网站上手动登录,情况并非如此)。

这是我写的连接网站的方法:

你能看出我的错误吗?我在控制台上获得了源代码和参数(用户名、密码)输出,但输出又是登录页面。我只想查看 php 页面,但我无权访问任何内部系统数据,我只有 HTML 页面。

任何建议将不胜感激!

编辑:

我重新考虑了整个事情,并按照 fiddler 的记录完全重建了 HTTP 请求标头。这部分函数现在看起来像这样:

整个事情仍然不起作用,与以前相同的问题。HttpWebRequest 是否有可能无法处理 https 或者 https 工作时缺少其他东西?(HTTP 和 HTTPS 似乎在语法上相同,并且端口正确设置为 443,真正的区别似乎在于附加的 SSL/TLS 层,也许我需要在某处添加它?)

0 投票
1 回答
1387 浏览

c# - 关闭 WebResponse,还是保持打开状态?

所以我正在制作一个几乎可以生成大量 HttpWebRequests 的程序。在这个程序中,速度是主要的。如果我能找到将 HttpWebRequests 增加一毫秒的方法,那就太好了。

好的,所以我的问题是:我有一个向站点发出 HttpWebRequest(GET 请求)的方法,以及另一个向同一主机(URL 略有不同,但主机相同)发出 POST HttpWebRequest 的方法,该方法在第一种方法每隔一段时间。

在我的第一个方法(GET 请求,比如说方法 A)中,我在阅读响应正文后关闭了 WebResponse。让这个 WebResponse 打开,然后调用 POST 方法(比如说方法 B)是否更快,或者我应该按照我现在的方式来做,从方法 A 中关闭 WebResponse?

示例代码:

那么,我应该让我的代码保持原样,从 MethodA() 关闭第一个 WebResponse,然后调用 MethodB(),还是其他什么?

另外,任何人都可以提供更多关于如何提高速度的提示,因为这是我的程序中最重要的事情,我需要它尽可能快。

0 投票
0 回答
1560 浏览

c# - WebResponse 从 Google 获取响应错误 405 方法不允许 C#

我正在尝试在 c# 中从谷歌获得响应以获取令牌。

我正在使用网址 - https://accounts.google.com/o/oauth2/token

我的代码如下;

行 response = (HttpWebResponse)request.GetResponse();

给了我不允许的 405 错误方法。

这两天我一直在尝试解决这个问题,但没有任何效果,谁能看到我哪里出错了?

谢谢

0 投票
1 回答
895 浏览

c# - WebRequest.GetResponse 不返回 404 错误

我们遇到了一个奇怪的问题。直到昨天和多年以来,我们一直在我们的应用程序中使用一小段代码来访问特定的 URL,以检查其中是否存在特定文件:

从昨天开始,如果检查的文件或 URL 不存在,上述代码将停止返回 404 错误,因此始终返回 true。我们无法从 ac# 的角度解释发生了什么。任何帮助将不胜感激。

0 投票
1 回答
235 浏览

c# - WebResponse 在实现 IDisposable 时如何没有公开可见的“Dispose”?

在通过最近涉及 WebResponse 的一些代码进行调试后,我发现我遇到的问题是在发出另一个 WebResponse 之前我没有正确处理 WebResponse。我误入歧途,因为需要将 WebResponse 转换为 IDisposable 才能实际调用 dispose (或者您可以使用“使用”来实现相同的目标)。

所以我的问题是:

1) Microsoft 使用什么来完成此任务?

IDisposable 是一个接口,因此是公共的,但 WebResponse 以某种方式更改了要根据 MSDN doumentation 保护的访问修饰符。我认为这是不可能的。

2)以这种方式隐藏处置有什么好处?

为什么不让 webResponse.Dispose() 有效?

0 投票
3 回答
420 浏览

c# - C# 从跨度中抓取文本

我试过这个:

好的,所以我尝试了,但我得到了这些错误:

错误 1“System.Net.WebRequest.Create(System.Uri)”是一种“方法”,但用作“类型”C:\Users\Dylan\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 18 52控制台应用程序1

错误 2 无法将类型 'bool' 隐式转换为 'string' C:\Users\Dylan\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 27 32 ConsoleApplication1

正如您可能知道的那样,我正在尝试使用链接后面的文本打开一个到 translate.google.com 的请求,然后获取打印到已翻译文本的文本。它基本上是一个翻译器。请帮忙。

0 投票
2 回答
361 浏览

c# - 线程没有响应

我试图在 2-3 小时内解决此问题,但无法解决。我正在尝试分三个部分三个线程下载文件。问题是当一个部分完成时,其他线程停止下载。

我正在使用的代码(修改后的代码更短,但解决了我的问题)

应用程序 ui 保持响应,并且从调试中我意识到每个线程同时退出。所以问题是为什么其他线程没有完成它们的部分。

在此处输入图像描述

0 投票
1 回答
136 浏览

c# - HttpWebRequest 延迟写请求

我想跟踪我的上传请求的状态,例如:

  • 上传数据包
  • 使用进度更新 UI
  • 上传数据包
  • 使用进度更新 UI
  • 上传数据包
  • 使用进度更新 UI
  • 等等等等

所以我尝试了以下代码(从网上找到的示例中收集)。

但它没有按预期工作。它不是在刷新后上传字节,而是在 while 循环的多次迭代中运行,然后在 GetResponse() 阶段上传。我知道它不会在 while 循环中上传,因为无论我设置多大的字节数组,通过循环所花费的时间几乎没有变化;但是 GetResponse() 阶段的时间会成比例地增加。

导致进度在眨眼间从 0% 到 100%,然后在实际发送数据所需的时间内保持在 100%。