I am trying to post to our asterisk box to parse out the phone list
from a console application this works :
class Program
{
static void Main(string[] args)
{
Console.WriteLine( HttpPost());
System.Threading.Thread.Sleep(10000);
}
public static string HttpPost()
{
var URI = @"http://sip.ligmarine.com/admin/config.php?quietmode=on&type=tool&display=printextensions";
var Parameters = "display=printextensions&quietmode=on&type=tool&core=core&featurecodeadmin=featurecodeadmin&paging=paging";
var retVal = "";
WebClient wc = new WebClient();
wc.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("maint:password")));
wc.Headers.Add("referer", @"http://sip.ligmarine.com/admin/config.php?type=tool&display=printextensions");
wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
retVal = Convert.ToBase64String(Encoding.ASCII.GetBytes("maint:password"));
//Console.Write("Resulting Request Headers: ");
//Console.WriteLine(wc.Headers.ToString());
byte[] byteArray = Encoding.ASCII.GetBytes(Parameters);
//Console.WriteLine("Uploading to {0} ...", URI);
// Upload the input string using the HTTP 1.0 POST method.
byte[] responseArray = wc.UploadData(URI, "POST", byteArray);
// Console.WriteLine("
Response received was {0}", );
retVal = Encoding.ASCII.GetString(responseArray);
return retVal;
}
}
from our IIS6 Hosted ASP.NET page I get
An existing connection was forcibly closed by the remote host
Description: An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and
where it originated in the code.
Exception Details: System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
Source Error:
Line 37: //Console.WriteLine("Uploading to {0} ...", URI);
Line 38: // Upload the input string using the HTTP 1.0 POST method.
Line 39: byte[] responseArray = wc.UploadData(URI, "POST", byteArray);
Line 40: // Console.WriteLine("
Response received was {0}", );
Line 41:
The HttpPost Method is exactly Identical the page load :
protected void Page_Load(object sender, EventArgs e)
{
var ret = HttpPost();
Response.Write(ret);
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…