- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在构建的 Windows Phone 8 应用程序遇到一些奇怪的行为,我希望这里的人有一些经验。
我正在阅读一个使用普通 HttpWebRequest 的网站,并期待一个 cookie 作为响应。但是,不知何故,我没有在 WebResponse 中返回 Set-cookie
header 。我在 WPF 下创建了相同的功能并且它正常工作 - 在响应中返回 Set-cookie
header 。
我也尝试查看响应的 CookieContainer
,但它也是空的。
这是我为此使用的代码。 注意:同一段代码(没有异步内容)在 WPF 中工作正常并返回 Set-Cookie
header 。如有必要,我也可以发布:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.mysite.com/login");
request.Method = HttpMethod.Post;
request.AllowAutoRedirect = false;//normally there is a redirect in place
postData = "username=1234&password=2345";
var data = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = await Task.Factory.FromAsync<Stream>(request.BeginGetRequestStream, request.EndGetRequestStream, null))
{
await stream.WriteAsync(data, 0, data.Length);
stream.Close();
}
using (var response = await Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null))
{
return response.Headers["set-cookie"];
}
因此,我得到了一些响应 header (例如内容类型和服务器特定的 header ),但没有 Set-Cookie
响应 header 。
最佳答案
我做了更多测试,set-cookie
header 仅在 Windows Phone 模拟器上被省略。在使用实际设备进行调试时,会按预期接收 header 。
我仍然很奇怪为什么模拟器会这样。我在模拟器中看到很多关于 http-only cookie 问题的帖子,但没有一个有具体原因。
更新:
在 8.0.10322 模拟器上测试工作正常 - cookie 处理正确。看起来默认手机模拟器对 cookie 做了一些可疑的事情。
关于c# - Windows Phone 8 的 WebResponse 是否跳过 set-cookie header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22524866/
我正在尝试使用 C# 和 WebRequest 从 Internet 获取一个大文件。到目前为止,我拥有的所有其他东西都工作正常,但似乎我得到的响应中间的某些部分被删除了。我尝试打印出 respons
我正在尝试编写一个简单的程序来从网站返回状态代码。当前使用 HttpWebRequest 和 HttpWebResponse 类。然而,它们的工作方式对我来说似乎很糟糕,只有在 200/OK 时才会返
我目前正在研究一个帮助我创建带有 cookie 和 POST 参数的 WebRequest 的类。但是 response.cookies 总是空的。我如何获取返回的 cookie 并将它们与下一个请求
所以我正在制作一个程序,它几乎可以生成批量 HttpWebRequests。在这个程序中,速度是主要的。如果我能找到将 HttpWebRequests 增加一毫秒的方法,那就太好了。 好吧,我的问题是
网站上有一个 PHP 脚本。我还有一个 C# winforms 程序,它使用 WebRequest/WebResponse 方法发送 POST 消息。 此 PHP 脚本连接到 mysql 数据库,获取
使用 C#,我需要确定开始从 WebRequest 接收响应所需的时间(目前,我不担心下载完整响应所需的时间)。 据我所知,为此我需要使用 WebRequest 的异步方法。这是我想出的: publi
我们正在将我们的解决方案之一移植到 PCL,但在 NET 框架基类库的受支持类和属性方面面临很多问题。为了使相同的功能在不同的平台上工作,我们实现了 WebClient,但我们在 WebResporn
我正在尝试使用 Web 服务将数组返回到我的 GUI,但我不知道如何从 WebResponse 中实际提取数组。 这是 GUI 中调用 Web 服务的方法: public static ArrayLi
我正在使用 C# 开发 Windows 应用商店应用程序,我是这个平台的新手(我主要从事 IOS 和 Android 方面的工作)。 我有一个简单的异步方法可以从远程服务器下载原始数据。它工作正常,除
我一直在 F# 交互式 session 中尝试一些基本的 HTTP 请求响应操作,以尝试更好地感受这门语言。这里的一切似乎都按预期工作,除了当我获得 HTTP 请求的响应流时,我似乎永远无法从中读取任
WebResponse response; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Crea
我知道这是一个菜鸟问题,但只是想知道 GetResponseStream() 是否可以在任何情况下返回 null? 最佳答案 好吧,这有点取决于具体的子类 - 但我从未见过任何这样做的子类,而且它没有
我有一个 .Net Framework #4.0 应用程序,它使用 WebRequest/WebResponse 类发出大量 Web 请求,因为我发现它有内存泄漏(或者我做错了什么)我写了一些简单的小
通常,人们会编写类似这样的代码来使用 WebRequest 下载一些数据。 using(WebResponse resp = request.GetResponse()) // WebRequest
private void RespCallback(IAsyncResult asynchronousResult) { try { WebRequest myWebR
我在 C# 中有一个函数,它通过从路由器页面检索 64b XML 来获取 Internet 的状态 public bool isOn() { HttpWebRe
从 WebResponse 获取文件(在本例中为 .PDF,但任何文件都可以)并将其放入 MemoryStream 的最佳方法是什么?使用 WebResponse 中的 .GetResponseStr
调用初始 HttpWebResponse.GetResponseStream() 并读取流后,该流已完成且无法重用。 我遇到一种情况,我需要检查响应的内容,如果它是特定数据,则获取另一个页面,然后将新
我使用 MVC4 Web API 创建了一个 RESTful 网络服务。如果出现问题,我将抛出 WebException。 throw new WebException("Account not fo
我正在尝试编写一个单元测试,其中我的 sut (authMock) 的依赖项应该抛出一个具有特定响应的 Webexception(将在 sut 中相应地解析的 json)。但是,我无法像这样使用 Mo
我是一名优秀的程序员,十分优秀!