我在java中开发了一个需要使用提供者提供的一组web服务的应用程序。
基本上我需要先拨打第一个休息网络服务来连接系统,我会在后休息电话的正文中传递用户名和密码。
不使用代理我可以在不传递用户名和密码的情况下进行第二次休息呼叫,网络服务提供商会认出我。
但是当我使用代理时,第二次调用不再起作用,我收到HTTP 401错误。
请注意,第一个连接调用也适用于代理。
我有什么概念性的缺失吗? 谁知道发生了什么? 谢谢
答案 0 :(得分:1)
如果您只进行一次登录请求,然后提出不提供凭据的后续请求,那么您正在使用的服务可能是使用Cookie来跟踪用户会话。< / p>
当您在自己和该服务之间放置代理时,如果代理未转发所有HTTP标头信息(cookie可能与服务交换),则服务将不再识别您的会话并考虑你未经授权
您可能需要更好地了解服务如何维护您的会话(是否使用它希望您发回的Set-Cookie
标头?)并且您需要了解您使用的代理是否转发所有您的服务标题