ポートを転送しました。ここで確認しました:
ただし、このロジックを使用して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 に接続するときは別の方法で認証する必要がありますか? どのように?いつものように、ドキュメントはまったく役に立ちません。