question about WebClient.OpenRead

  • Thread starter Thread starter Seymen Ertas
  • Start date Start date
S

Seymen Ertas

Hi,

I don't know if this is the correct place to post this but i am having a
little problem with the OpenRead function of the WebClient.

Below is the code i am trying to get it to work:


WebClient Client = new WebClient();
Stream strm = Client.OpenRead("http://something.jsp?user=username");



If i simply put the url above into internet explorer i will get a valid page
that i can parse through however if i try to do this using the OpenRead
function i get an internal server error 500. Any ideas why this might happen
?

Thank You
 
Seymen said:
Hi,

I don't know if this is the correct place to post this but i am having a
little problem with the OpenRead function of the WebClient.
If i simply put the url above into internet explorer i will get a valid page
that i can parse through however if i try to do this using the OpenRead
function i get an internal server error 500. Any ideas why this might happen

Go to the web server and find what the error is.
Also you can try to compare queries by using network sniffer.

Vadim Chekan.
 
Hi,

Thanks for your post. WebClient class is used to send and receive data from
a resource identified by a URI. We cannot get .jsp result with WebClient,
instead we are able to use the HttpWebRequest and HttpWebResponse classes
to send HTTP requests and get the result like in IE. Please refer to the
following sample:

SAMPLE: Visual C# .NET Networking Classes HTTP Internet Client
http://support.microsoft.com/?id=303436

Please let me know the result.

Have a nice day!

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 
Hi Tian,

Thank You for your response, upon doing more investigation i believe my
problem is due to a check that occurs after i try to open .jsp page and
before the final html code is generated, what seems to be happening is this
page first tries to check if a player is available and i believe when it's
not (using HttpWebResponse.GetResponse) it gives me an exception (500)

Is there a way for me to fake the request so that it looks like i have the
player installed ? All i am really interested in is getting the final html
generated by the server ?

Thank You

Below is the output obtained from web-sniffer.net after typing in the URL:

<!DOCTYPE·HTML·PUBLIC·"-//W3C//DTD·HTML·4.01·Transitional//EN">[LF]
<html>[LF]
<head>[LF]
··<title>Player·detection·in·Browser...</title>[LF]
[LF]
<script·language="JavaScript">[LF]
<!--[LF]
var·detectableWithVB·=·false;[LF]
var·quicktimeVersion·=·1;[LF]
[LF]
[LF]
function·createActiveXObject(id)·{[LF]
··var·error;[LF]
··var·control·=·null;[LF]
··try·{[LF]
····if·(window.ActiveXObject)·control·=·new·ActiveXObject(id);[LF]
····else·if·(window.GeckoActiveXObject)·control·=·new·GeckoActiveXObject(id)
;[LF]
····}[LF]
··catch·(error)·{·;·}[LF]
··return·control;[LF]
··}[LF]
//·-->[LF]
</script>[LF]
[LF]
[LF]
<script·language="VBscript">[LF]
[LF]
'do·a·one-time·test·for·a·version·of·VBScript·that·can·handle·this·code'[LF]
detectableWithVB·=·False[LF]
quicktimeVersion·=·1[LF]
If·ScriptEngineMajorVersion·>=·2·then[LF]
··detectableWithVB·=·True[LF]
End·If[LF]
[LF]
'this·next·function·will·detect·most·plugins'[LF]
Function·detectActiveXControl(activeXControlName)[LF]
··on·error·resume·next[LF]
··detectActiveXControl·=·False[LF]
··If·detectableWithVB·Then[LF]
·····detectActiveXControl·=·IsObject(CreateObject(activeXControlName))[LF]
··End·If[LF]
End·Function[LF]
[LF]
'and·the·following·function·handles·QuickTime'[LF]
Function·detectQuickTimeActiveXControl()[LF]
··on·error·resume·next[LF]
··detectQuickTimeActiveXControl·=·False[LF]
··If·detectableWithVB·Then[LF]
····detectQuickTimeActiveXControl·=·False[LF]
····hasQuickTimeChecker·=·false[LF]
····Set·hasQuickTimeChecker·=·CreateObject("QuickTimeCheckObject.QuickTimeCh
eck.1")[LF]
····If·IsObject(hasQuickTimeChecker)·Then[LF]
······If·hasQuickTimeChecker.IsQuickTimeAvailable(0)·Then·[LF]
········detectQuickTimeActiveXControl·=·True[LF]
········quicktimeVersion·=·CInt(Hex(hasQuickTimeChecker.QuickTimeVersion)·/·
1000000)[LF]
······End·If[LF]
····End·If[LF]
··End·If[LF]
End·Function[LF]
[LF]
</script>[LF]
[LF]
<script·type="text/javascript"·src="/includes/cookie_ops.js"></script>[LF]
<script·type="text/javascript"·src="/includes/player_detect.js"></script>[LF
]
[LF]
</head>[LF]
<body>[LF]
[LF]
[LF]
[LF]
<script>[LF]
var·lsMedia·=·new·Cookie(document,·"lsMedia",·0,·"/");[LF]
if·(canDetectPlugins())·{[LF]
··if·(detectQuickTime())·lsMedia.QT·=·quicktimeVersion;[LF]
··if·(detectReal())·lsMedia.RP·=·"Y";[LF]
··if·(detectWindowsMedia())·{[LF]
····var·detectionResults·=·detectWMP();[LF]
····if·(detectionResults.installed)·lsMedia.pt·=·detectionResults.typeOfPlay
er;[LF]
····lsMedia.WMP·=·(detectionResults.installed)·?·detectionResults.versionInf
o·:·"Y";[LF]
····}[LF]
··}[LF]
else·lsMedia.detect·=·"none";[LF]
lsMedia.store();[LF]
</script>[LF]
[LF]
[LF]
[LF]
</body>[LF]
</html>[LF]
 
Hi Tian,

I think i am starting to understand this a little better, what seems to
happen is the first time i call the jsp page a sessionid is generated for me
i need to be able to read this session id in order to get the final html
page that i am looking for.

so my current problem is being able to successfully read the new link which
has a session id in it that is generated as a result of the first jsp page.

Thank You (hopefully you will be bear with me on this :-) )
 
Hi,

Thanks for your information. I am very glad to hear that you resolved the
problem!

Have a nice day!

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 
Back
Top