我已经转发了端口,我在这里检查过:
我可以获取 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 时是否应该进行不同的身份验证?如何?像往常一样,文档根本没有帮助。