Hello,
I hope somebody has a good explanation for this issue.
Okay I'm having troubles with the httpWebRequest method. I need to download reports from a specified server (can't give these details). Now I don't have trouble with an "HTTPS" url but I with an "HTTP" url I get the error :
error: The server committed a protocol violation. Section=Respons eHeader Detail=Header name is invalid
This the first time I got this error in c#.net. I tried this in Java and there I didn't had any problems. So I'm kind of lost.
I search the internet to see what the "ProtocolViolat ionException" throws. I found this on the msdn site:
ProtocolViolati onException :
Method is GET or HEAD, and either ContentLength is greater or equal to zero or SendChunked is true.
-or-
KeepAlive is true, AllowWriteStrea mBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.
I did an output of these properties and some how these don't have the values mention to trigger the ProtocolViolati onException.
So my question is, How is this possible?
this is my testClass:
this is the output of the properties
output: Method = GET
ContentLength = -1
SendChunked = False
KeepAlive = True
AllowWriteStrea mBuffering = True
I hope somebody can help me with this.
I hope somebody has a good explanation for this issue.
Okay I'm having troubles with the httpWebRequest method. I need to download reports from a specified server (can't give these details). Now I don't have trouble with an "HTTPS" url but I with an "HTTP" url I get the error :
error: The server committed a protocol violation. Section=Respons eHeader Detail=Header name is invalid
This the first time I got this error in c#.net. I tried this in Java and there I didn't had any problems. So I'm kind of lost.
I search the internet to see what the "ProtocolViolat ionException" throws. I found this on the msdn site:
ProtocolViolati onException :
Method is GET or HEAD, and either ContentLength is greater or equal to zero or SendChunked is true.
-or-
KeepAlive is true, AllowWriteStrea mBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.
I did an output of these properties and some how these don't have the values mention to trigger the ProtocolViolati onException.
So my question is, How is this possible?
this is my testClass:
Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Net;
namespace adlogix_views
{
static class httpTestClass
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
string page = "";
try
{
// write a line of text to the file
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://www.mywebsite.com");
string userPass = "myUsername:myPassword";
string encoding = Convert.ToBase64String(Encoding.ASCII.GetBytes(userPass));
wr.Headers.Add("Authorization", "Basic " + encoding);
wr.PreAuthenticate = true;
Console.WriteLine("Method = " + wr.Method);
Console.WriteLine("ContentLength = " + wr.ContentLength);
Console.WriteLine("SendChunked = " + wr.SendChunked);
Console.WriteLine("KeepAlive = " + wr.KeepAlive);
Console.WriteLine("AllowWriteStreamBuffering = " + wr.AllowWriteStreamBuffering);
HttpWebResponse ws = (HttpWebResponse)wr.GetResponse();
Stream str = ws.GetResponseStream();
StreamReader sr = new StreamReader(str);
while ((page = sr.ReadLine()) != null)
{
Console.WriteLine(page);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
output: Method = GET
ContentLength = -1
SendChunked = False
KeepAlive = True
AllowWriteStrea mBuffering = True
I hope somebody can help me with this.
Comment