でHTTP 301が取得しますこのURL:UWPは、私はこのURLを持って窓のモバイル
"http://10.0.0.68/SET STB MEDIA CTRL {"type":"tv","action":"start query status"}"
私はそれがこのURLに変換されていることを、見ることができます。
"http://10.0.0.68/SET%20STB%20MEDIA%20CTRL%20%7B%22type%22%3A%22tv%22%2C%22action%22%3A%22start%20query%20status%22%7D"
Windowsまたは携帯電話エミュレータでアプリケーションを実行すると、すべて動作しますが、Windows Mobileで実行しているときにエラー(301)が表示され、Chrome/Firefoxで絶対パスを開こうとしているときも同じエラー(301)
携帯電話で実行すると、文字列のURLが変換されたように見えますが、絶対URLとchrome/firefoxのURLとの間に違いがあるようです。 「:」私はすでに、私は携帯電話でこの問題を持って書いたようにが「3A」
に変換されていない問題は、この文字があること、です。私はHttpClientをかのWebViewコントロールを使用する場合
var client = new HttpClient();
var url = "http://10.0.0.68/SET STB MEDIA CTRL {\"type\":\"tv\",\"action\":\"start query status\"}";
var uri = new Uri (url); //Just for debug
var response = await client.GetAsync(url);
var result = await response.Content.ReadAsStringAsync();
することは重要ではありません - のWindows Mobile上で - まだ同じエラー - 301件の
質問:
- は私のコードによって、この原因であるか、それがあります.NETのバグ?
- もし私のせいだとすれば、どうすればこの問題を解決できますか?
だけでなく、私はHttpClientをを使用する必要がないことを、私はそれについてthinkedと私が見つかりました - 私はソケットクライアントを作成する - マイクロソフトのチュートリアルに
に従って、私はこのクライアントを経由してWebブラウザをシミュレートするが、ちょうど送ります短い要求:私はPCからのデバッグを使用する場合
var stringToSend =
"GET /GET%20NOWORNEXT%20EPG%20%7B%20%22count%22%20%3A%20%2230%22%2C%20%22group%22%20%3A%20%225%22%2C%20%22epgNowOrNextFlag%22%20%3A%20%221%22%2C%20%22startIdx%22%20%3A%20%220%22%7D HTTP/1.1"
回答が正しいです:
"HTTP/1.1 200 OK\r\nAccess-Control-Allow-Origin: *\r\nDate: Fri, 08 Jul 2016 14:20:31 GMT\r\nContent-Type: text/html\r\nConnection: Close\r\n\r\n200 {\"group\":5,\"count\":30,\"data\": etc.... "
が、Windowsの携帯電話からの結果は次のとおりです。
"HTTP/1.1 200 OK\r\nAccess-Control-Allow-Origin: *\r\nDate: Fri, 08 Jul 2016 15:42:01 GMT\r\nContent-Type: text/html\r\nConnection: Close\r\n\r\n301"
だから、再び応答が301 ...
不可能です....まあ
あなたのウェブが他のサイトにジャンプし、HttpWebRequest.GetでAllowAutoRedirect = trueを使用してURLを取得できる場合 – lindexi
これは問題ではありません。最初のコメントの下線を見てください。 – petrtim