0

ポートを転送しました。ここで確認しました:

http://www.canyouseeme.org/

ただし、このロジックを使用してCookieを取得できます(ローカルネットワークで機能します):

  • クッキーを取得

  • Cookie と認証を使用してトークンを取得する

  • トークンを使用して WEBAPI アクションを呼び出す

問題は、トークンを取得することさえできないことです。

次のエラーが表示されます: FileNotFoundException

同じ IP、ポート、およびリンクがブラウザで正常に動作するため、認証に問題があるか、Cookie に問題があると思われます。

String authorization = "Basic " + new String(android.util.Base64.encode((auth).getBytes(), android.util.Base64.NO_WRAP));

それは次のように使用されます。

connection.setRequestProperty("Authorization", authorization);

HTTP 応答は次のとおりです: HEADER FIELDS{null=[HTTP/1.1 400 ERROR]、Connection=[keep-alive]、Content-Length=[17]、Content-Type=[text/html]、X-Android-Received- Millis=[1484153865632]、X-Android-Response-Source=[NETWORK 400]、X-Android-Selected-Protocol=[http/1.1]、X-Android-Sent-Millis=[1484153865562]}

この時点でエラーは発生しないはずです。グローバルIPに接続するときは悪いリクエストになる可能性がありますが、ローカル接続では問題ありません。

だから私の質問はです。グローバル IP に接続するときは別の方法で認証する必要がありますか? どのように?いつものように、ドキュメントはまったく役に立ちません。

4

1 に答える 1

0

何が悪いのかわかりません。しかし、8080 に新しいポートを設定すると、内部ポートと外部ポートとして使用できるようになりました。

于 2017-01-11T18:03:34.793 に答える