- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试向 google 页面发出 http 请求,但它不起作用并在我尝试获取响应时给出 ProtocolViolationException
。
这是我的代码:
public CookieCollection GetTempCookies()
{
CookieContainer MyCookieContainer = new CookieContainer();
CookieCollection cookies = GetGalxAndGaps();
string postData = "foo=baa&etc..";
byte[] data = Encoding.ASCII.GetBytes(postData);
int postLength = data.Length;
for (int i = 0, max = cookies.Count; i != max; i++)
{
Cookie tempCookie = cookies[i];
Cookie cookie = new Cookie(tempCookie.Name, tempCookie.Value, tempCookie.Path);
MyCookieContainer.Add(new Uri("https://accounts.google.com/ServiceLoginAuth"), cookie);
}
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://accounts.google.com");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = postLength;
req.AllowAutoRedirect = false;
req.CookieContainer = MyCookieContainer;
HttpWebResponse response = (HttpWebResponse)req.GetResponse(); // <- this cause the exception
Stream stream = response.GetResponseStream();
stream.Write(data, 0, postLength);
return response.Cookies;
}
有人可以指出我的错误吗?提前致谢!
最佳答案
您正在尝试写入到响应流。您应该写入请求流,然后得到响应:
using (Stream stream = req.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
using (HttpWebResponse response = (HttpWebResponse) req.GetResponse())
{
return response.Cookies;
}
关于c# - 获取 HttpWebRequest 的 GetResponse() 会给出 ProtocolViolationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678916/
我是 silverlight 新手。我正在针对 Windows Phone 的 Visual Studio 2010 中进行编程。我尝试执行 HttpWebRequest 但调试器显示 Protoco
我正在努力解决这个错误: https://github.com/openstacknetsdk/openstack.net/issues/333 问题涉及 ProtocolViolationExcep
为什么 req.GetRequestStream().Close(); 会导致“ProtocolViolationException - 无法发送具有此动词类型的内容主体。”代码片段来自here .谢
我收到“System.Net.ProtocolViolationException:由于对象的当前状态,操作无效。”尝试调用时出错 var request = (HttpWebRequest)Web
我正在玩 rxJava2 并获得 io.reactivex.exceptions.ProtocolViolationException: Disposable already set! 在尝试向 Co
我不知道。我正在尝试从我为 Windows Phone 构建的应用程序上的 REST 服务获取 XML。我总是在以下行遇到异常: HttpWebResponse response = request.
我在 .NET 中创建了一个基本的 RESTful 服务,它允许我对调用方法指定的 Uri 进行基本的 Get 和 Post 调用。在我的 post 方法中,我试图用我的 HttpWebRequest
我尝试向 google 页面发出 http 请求,但它不起作用并在我尝试获取响应时给出 ProtocolViolationException。 这是我的代码: public CookieCollec
我正在尝试从 Windows Phone 应用程序的公共(public) API 收集数据。 private void GatherPosts() { string url = baseURL
我开发了一个管理工具,我在其中使用一个简单的 HTTPListener 来返回 HTML 页面。在 IE 和 FF 上一切正常,但在使用 Google Chrome 时出现ProtocolViolat
以下代码尝试使用多部分传输、客户端信封加密和 Amazon KMS 服务处理数据加密 key ,将 17MB 的测试文件复制到 S3 存储桶。多部分块大小为 5MB。 在传输最后一个(部分) bloc
对于下面的代码,我得到以下错误, System.Net.ProtocolViolationException: You must provide a request body if you set C
我有这段代码用于在我创建的测试 gmail 帐户中添加联系人: public class SomeClass { private const string ClientId = "somecl
我用HttpListener写web server代码,但是经常出现这样的异常 "System.Net.ProtocolViolationException:Bytes to be written t
公共(public)字符串 HttpCall(string NvpRequest) 方法中出现以下异常: 'System.Net.ProtocolViolationException' {"You m
我正在开发一个 Restful API,我需要在发出实际的 DELETE 请求之前检查授权。所以我认为使用 HEAD 方法作为预检检查会很好。 我预计使用 HEAD 方法的未经授权的请求将返回没有正文
我得到了 "System.Net.ProtocolViolationException: You must write ContentLength bytes to the request strea
Q1 - 这是 .net 中的错误,还是我用于测试的网络服务器 (Mongoose) 没有以应有的格式提供 header 字段 Last-Modified? 如果我在 C# VS2008 中调用: r
我是一名优秀的程序员,十分优秀!