我正在从 javascript 调用 twitter API 1.1,该调用需要通过代理,就像来自该项目的所有其他调用一样。重定向到代理当前由服务器端通用 Web 处理程序 (ashx) 提供服务:
public void ProcessRequest(HttpContext context)
来自 js 的任何调用都首先到达处理程序,处理程序将此请求与代理凭据一起传递给代理。到目前为止,这仅用于忽略标头的简单调用,因此从 HttpContext uri 创建新的 WebRequest 很容易。
WebRequest req = WebRequest.Create(new Uri(uri));
req.Proxy = new WebProxy(proxy);
req.Proxy.Credentials = new NetworkCredential(credentials);
使用 OAuth,我需要标头,因此我试图找到简单的方法,如何将 HttpRequest 形式的传入请求重定向到代理,并仅附加代理凭据,而无需手动将标头转移到新的 WebRequest。我尝试了很少的方法,context.Server.TransferRequest(uri,true);
但是我没有找到如何添加代理凭据的方法。将标头移动到新请求也不是一件令人愉快的任务。
我哪里错了,这个任务听起来太简单了,但我找不到合适的解决方案?