2016-07-07 10 views
1

で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件の

質問:

  1. は私のコードによって、この原因であるか、それがあります.NETのバグ?
  2. もし私のせいだとすれば、どうすればこの問題を解決できますか?

だけでなく、私は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 ...

不可能です....まあ

+0

あなたのウェブが他のサイトにジャンプし、HttpWebRequest.GetでAllowAutoRedirect = trueを使用してURLを取得できる場合 – lindexi

+0

これは問題ではありません。最初のコメントの下線を見てください。 – petrtim

答えて

0

、問題が解決! :)

これはWindows Mobileなどとはまったく関係がありません。問題は、初めてデバイスに接続するときに、自分のIPアドレスf.eを開いていなければならないということでした。私のIPは一時的にデバイスに保存されていて、私とcomunicateするつもりです.. PCから、それは要求などをデバッグしていたので、働いていた...

私はデバイス上でlogcatを実行し、通信をチェックしていました。

関連する問題