2013-12-09 45 views
0

我在我的下面的代碼snipplet上面臨代理驗證問題。iTextSharp - 生成PDF文件 - 遠程服務器返回錯誤:(407)需要代理驗證

file = [FILEPATH] 
htmlData = [HTML CONTENTS] 

System.IO.StringReader objReader = default(System.IO.StringReader); 
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f); 
HTMLWorker htmlparser = default(HTMLWorker); 

objReader = new System.IO.StringReader(htmlData); 
FileStream fsTest = new FileStream(file, FileMode.Create, FileAccess.ReadWrite); 

htmlparser = new HTMLWorker(pdfDoc); 

PdfWriter.GetInstance(pdfDoc, fsTest); 

pdfDoc.Open(); 
htmlparser.Parse(objReader); 
pdfDoc.Close(); 

我不知道天氣是iTextSharp問題還是我需要在代碼級別進行一些驗證? 請建議。

詳細的錯誤:

The remote server returned an error: (407) Proxy Authentication Required. || System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. at System.Net.HttpWebRequest.GetResponse() at iTextSharp.text.Image.GetInstance(Uri url) at iTextSharp.text.html.simpleparser.HTMLWorker.StartElement(String tag, Dictionary`2 h) at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go(TextReader reader) at AppWeb.AssetActions.GeneratePDFFromHTML(String htmlData, String file) || at System.Net.HttpWebRequest.GetResponse() at iTextSharp.text.Image.GetInstance(Uri url) at iTextSharp.text.html.simpleparser.HTMLWorker.StartElement(String tag, Dictionary`2 h) at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go(TextReader reader) at. 
+0

檢查您的[FILEPATH]變量。它是遠程位置,如可能需要身份驗證的「\\ SERVER1 \ PATH1」? –

+0

是的,我檢查了它,而不是遠程路徑。它是Server.Mappath(...) –

+0

但無論價值是什麼,你確定它是指本地路徑(如C:\或D:\\)?如果不是,則將其寫入響應流並將其檢出。 –

回答

0

正如我所評論的,你應該htmlData串內檢查每個URL。您需要確保每個URL都可以在您的.NET程序集沒有任何代理錯誤的情況下訪問。 還搜索模板引擎使用的任何解析標籤。下面是一些我想到的:

<? ?> - php 
<?php ?> - php 
<?= ?> - php 
<% %> - asp, asp.net, php 
<%= %> - asp, asp.net, php 
<< >> - webapp2 
相關問題