473,385 Members | 1,535 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

URI parse exception

I get exception trying to parse this URI:

http://-eeayr4mwvtw998.usercash.com/

But IE and Firefox have no problem opening it.

The parse exception is actually happening inside an HTTPWebRequest so I
guess there's no much I can do about it one wary or the other, unless
there's some way to encode it so that it still goes where it's supposed to
go but is actually parseable by the URI parser as well.

Any ideas?

Thanks.

Aug 26 '07 #1
7 2541
Can you post some short but complete code sample to allow somebody to
reproduce the issue?
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder: http://www.blogmetafinder.com

"pedrito" wrote:
I get exception trying to parse this URI:

http://-eeayr4mwvtw998.usercash.com/

But IE and Firefox have no problem opening it.

The parse exception is actually happening inside an HTTPWebRequest so I
guess there's no much I can do about it one wary or the other, unless
there's some way to encode it so that it still goes where it's supposed to
go but is actually parseable by the URI parser as well.

Any ideas?

Thanks.

Aug 26 '07 #2
Sure, this will throw the exception:

HttpWebRequest req =
HttpWebRequest.Create(@"http://-eeayr4mwvtw998.usercash.com/") as
HttpWebRequest;

I ought to mention, I'm using .NET 1.1. Maybe it was something fixed in a
later version...
"Peter Bromberg [C# MVP]" <pb*******@yahoo.yohohhoandabottleofrum.comwrote
in message news:92**********************************@microsof t.com...
Can you post some short but complete code sample to allow somebody to
reproduce the issue?
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder: http://www.blogmetafinder.com

"pedrito" wrote:
>I get exception trying to parse this URI:

http://-eeayr4mwvtw998.usercash.com/

But IE and Firefox have no problem opening it.

The parse exception is actually happening inside an HTTPWebRequest so I
guess there's no much I can do about it one wary or the other, unless
there's some way to encode it so that it still goes where it's supposed
to
go but is actually parseable by the URI parser as well.

Any ideas?

Thanks.


Aug 26 '07 #3
"Peter Bromberg [C# MVP]" <pb*******@yahoo.yohohhoandabottleofrum.comwrote
in message news:92**********************************@microsof t.com...
Can you post some short but complete code sample to allow somebody to
reproduce the issue?
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder: http://www.blogmetafinder.com

"pedrito" wrote:
>I get exception trying to parse this URI:

http://-eeayr4mwvtw998.usercash.com/

But IE and Firefox have no problem opening it.

The parse exception is actually happening inside an HTTPWebRequest so I
guess there's no much I can do about it one wary or the other, unless
there's some way to encode it so that it still goes where it's supposed
to
go but is actually parseable by the URI parser as well.

Any ideas?

Thanks.

Sorry, you asked for short but complete. Here's complete (though I think
the previous post is plenty to demonstrate how easy it is to produce).

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Net;
using System.Text;

namespace UserCashTest
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
//
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(88, 16);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new
System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Anchor =
((System.Windows.Forms.AnchorStyles)((((System.Win dows.Forms.AnchorStyles.Top
| System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.Location = new System.Drawing.Point(8, 64);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(280, 200);
this.textBox1.TabIndex = 1;
this.textBox1.Text = "";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);

}
#endregion

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{
HttpWebRequest req =
HttpWebRequest.Create(@"http://-eeayr4mwvtw998.usercash.com/") as
HttpWebRequest;
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
string len = resp.Headers["Content-Length"];
int dataLen = Convert.ToInt32(len);
byte[] data = new byte[dataLen];
resp.GetResponseStream().Read(data, 0, dataLen);
resp.Close();

string dataStr = ASCIIEncoding.ASCII.GetString(data);
textBox1.Text = dataStr;

}
}
}


Aug 26 '07 #4
pedrito wrote:
Sure, this will throw the exception:

HttpWebRequest req =
HttpWebRequest.Create(@"http://-eeayr4mwvtw998.usercash.com/") as
HttpWebRequest;

I ought to mention, I'm using .NET 1.1. Maybe it was something fixed in a
later version...
Looks like. I pasted the above line into an empty console application
(which is, by the way, the true "minimally complete" example of code
that might reproduce the issue :) ), and it executed fine without an
exception.

..NET 2.0 here.

Pete
Aug 26 '07 #5
"Peter Duniho" <Np*********@NnOwSlPiAnMk.comwrote in message
news:13*************@corp.supernews.com...
pedrito wrote:
>Sure, this will throw the exception:

HttpWebRequest req =
HttpWebRequest.Create(@"http://-eeayr4mwvtw998.usercash.com/") as
HttpWebRequest;

I ought to mention, I'm using .NET 1.1. Maybe it was something fixed in a
later version...

Looks like. I pasted the above line into an empty console application
(which is, by the way, the true "minimally complete" example of code that
might reproduce the issue :) ), and it executed fine without an exception.

.NET 2.0 here.

Pete
Yeah, I had a feeling it'd probably work in 2.0... I'm wondering if I can
encode it somehow that the uri parser wouldn't choke... Oh well, it's not
horribly important. I'll play with it a bit and see what I can do...

Yeah, I thought of doing a console app, but I already had the Win app handy
(because I was using it to look at the HTML coming back from a url), so
easier to copy and paste that than create yet another test app.
Aug 27 '07 #6
pedrito wrote:
Yeah, I had a feeling it'd probably work in 2.0... I'm wondering if I can
encode it somehow that the uri parser wouldn't choke... Oh well, it's not
horribly important. I'll play with it a bit and see what I can do...
Well, obviously it'd be better if you could switch to a newer version of
..NET. But barring that, you could just pre-process your string and
replace characters that might be problematic with a different
representation.

I don't know how often you're going to run into this, but in the
specific example, just replacing the '-' character with %2D might
convince the parser to let it through.

Pete
Aug 27 '07 #7
"Peter Duniho" <Np*********@NnOwSlPiAnMk.comwrote in message
news:13*************@corp.supernews.com...
pedrito wrote:
>Yeah, I had a feeling it'd probably work in 2.0... I'm wondering if I can
encode it somehow that the uri parser wouldn't choke... Oh well, it's not
horribly important. I'll play with it a bit and see what I can do...

Well, obviously it'd be better if you could switch to a newer version of
.NET. But barring that, you could just pre-process your string and
replace characters that might be problematic with a different
representation.

I don't know how often you're going to run into this, but in the specific
example, just replacing the '-' character with %2D might convince the
parser to let it through.

Pete
Pete, thanks. Tried that (replacing it with the %2D encoding) yesterday and
it didn't work... Same error.

I may bite the bullet and upgrade. I have 2005 Express. It's just that I
have to use 2003 for work and it's what I know and I'm comfortable with. The
app that does this isn't huge, but it's not small and I just don't know what
all is going to be involved in upgrading it. I won't have much time to work
on it during the week (it's a side-project), but maybe next weekend I'll try
porting it over and see how much work it's going to be.

Thanks.
Aug 27 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Alan Baljeu | last post by:
My code calls int.Parse(text), which throws a System.Format exception. This is fine because text is all letters, and I explicitly catch the exception. However, my program never receives the...
4
by: dwight | last post by:
Is there a way using DateTime.Parse to validate a date in the following format? mm/dd/yyyy Thanks
10
by: Flip | last post by:
I know the int.Parse("123") will result in an int of 123, but what happens with a null? I believe it give a null exception (seems like I get either NullArgumentException or ArgumentNullException...
5
by: Markus Kling | last post by:
"double.Parse(double.MaxValue.ToString())" yields the following Exception: Value was either too large or too small for a Double. at System.Number.ParseDouble(String value, NumberStyles options,...
7
by: sara | last post by:
Hi to all i have string y; int x=int.parse(y); when i run the application this exeption is trewn /////////////////////////////////////// Description: An unhandled exception occurred during the...
5
by: Navid Azimi | last post by:
What's the best way to parse a currency string to a decimal given the possibility of multiple currencies? That is, my numeric string can be ($12.00) or -£12.00; in either case I want -12.00 to be...
4
by: =?Utf-8?B?c2lwcHl1Y29ubg==?= | last post by:
Hi I am having a problem formatting a string when the time is in format hh.mm.ss - used in Europe Parse seems ok when the date uses "/" or "." as seperator but I get an exception when time...
2
by: Samuel R. Neff | last post by:
I'm using a quasi open-source project and am running into an exception in double.Parse which is effectively this: double.Parse(double.MinValue.ToString()) System.OverflowException: Value was...
5
AdrianH
by: AdrianH | last post by:
Assumptions I am assuming that you know or are capable of looking up the functions I am to describe here and have some remedial understanding of C++ programming. FYI Although I have called...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.