远程服务器返回错误:(407)需要代理身份验证

问题描述:

我正在使用以下代码从使用itextsharp dll的网页生成pdf。远程服务器返回错误:(407)需要代理身份验证

但我得到foloowing错误。 远程服务器返回错误:(407)需要代理验证。

我的代码:

 Response.ContentType = "application/pdf"; 
     Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf"); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter hw = new HtmlTextWriter(sw); 
     this.Page.RenderControl(hw); 
     StringReader sr = new StringReader(sw.ToString()); 
     Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f); 
     HTMLWorker htmlparser = new HTMLWorker(pdfDoc); 

     PdfWriter.GetInstance(pdfDoc, Response.OutputStream); 
     pdfDoc.Open(); 

     htmlparser.Parse(sr); 
     pdfDoc.Close(); 
     Response.Write(pdfDoc); 
     Response.End(); 
+0

你使用代理服务器进入互联网,那东西需要某种认证? –

+0

你的sw.ToString()是否包含不在本地服务器上托管的图像(例如)?过时的HTMLWorker在幕后做了很多工作。 – VahidN

+0

请删除itextsharp作为标记。这不是一个itextsharp问题。这是关于从您的机器上获取HTML和所有从该HTML引用的资源。 –

我有同样的问题,我从DOCTYPE HTML标记在我的HTML文件中删除URL解决它!

即,我代替:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<!DOCTYPE html> 

使这一变化的HtmlParser.Parse命令运行正常后产生的.PDF不给我(407)代理身份验证错误。