对 https 的 GET 请求 - NotFound。 wp7
Posted
技术标签:
【中文标题】对 https 的 GET 请求 - NotFound。 wp7【英文标题】:GET request to https - NotFound. wp7 【发布时间】:2012-08-09 18:56:39 【问题描述】:这是我第一次为 wp7 编写代码,但我遇到了一些麻烦。当我声明 token_req = "http://api.server.com/oauth/token" 没问题,但是当我声明 *https 时,它无法连接,所以我得到“远程服务器返回错误:NotFound。”线路错误
WebResponse 响应 = (HttpWebResponse)request.EndGetResponse(result);
const string results
private void button1_Click(object sender, RoutedEventArgs e)
string token_req = "https://api.server.com/oauth/token";
string client_id = "...";
string client_secret = "...";
string username = Field_Login.Text;
string password = Field_Password.Password;
string token_req_param = "grant_type=password&client_id=" + client_id + "&client_secret=" + client_secret + "&username=" + username + "&password=" + password;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(token_req+"?"+token_req_param);
request.BeginGetResponse(GetCallback, request);
void GetCallback(IAsyncResult result)
WebRequest request = (HttpWebRequest)result.AsyncState;
WebResponse response = (HttpWebResponse)request.EndGetResponse(result);
using (StreamReader httpwebStreamReader = new StreamReader(response.GetResponseStream()))
results = httpwebStreamReader.ReadToEnd();
response.Close();
此外,我无法使用 IE 连接到此 url,而我使用 wp7 模拟器。 =\
【问题讨论】:
【参考方案1】:您是否尝试使用自签名证书?
如果是这样,那么您必须在手机上安装证书,这只能通过将 WebBrowserTask 指向证书的远程 url 来完成。这很糟糕,但这是唯一的方法。
【讨论】:
您也可以通过电子邮件将证书发送给自己。 不是自签名的 =\ 而且我没有手机 - 只有模拟器【参考方案2】:Error Not Found 是一个通用的 WCF 错误消息,最好的办法是使用 Fiddler,尽管根据我的经验,你还没有设置 HTTPS 来处理你的服务,如果你想设置 HTTPS 连接,你需要更多的魔法,你可以从
https://github.com/geersch/WcfOverHttps
【讨论】:
你还没有设置 HTTPS 来处理你的服务这是什么意思?如果我声明 https://twitter.com 而不是我的 api 服务器 - 它可以工作 =\ 我看到,这个 api 服务器也有 http 地址,但是 http:/ /api.server.com/oauth/token/ 也不起作用。 基本上我的意思是您的托管 WCF 服务的 IIS 服务器可能未设置为仅接收 HTTPS 连接 HTTP 连接(默认)如果您的 WCF 服务需要一些证书等工作想让 HTTPS 工作。 twitter... 起作用的原因是因为他们已经做出了改变。如果你想设置 HTTPS,我认为你需要阅读更多关于 WCF 服务和 IIS 的内容以上是关于对 https 的 GET 请求 - NotFound。 wp7的主要内容,如果未能解决你的问题,请参考以下文章
发出 JSON RPC API 的 GET 请求而不是 POST 请求