How to assign credential to WebRequest then navigate to it?why is use of “new NetworkCredential(username, password)” not working for Basic Authentication to my website (from a WinForms C# app)?How do I enumerate an enum in C#?HTTP POST in .NET doesn't work.Net C# : Read attachment from HttpWebResponseGetResponse() slow only on my computerSession lost for return URL of GetResponse()Getting (500) Internal Server Error with webresponse objecthow to convert string data to html in richtextboxWhy WriteAllText Method Saves XML with special Characters?Getting bad request (400) on solrHttpWebRequest (401) Unauthorized with correct credentials

Should I use my toaster oven for slow roasting?

Are there any instances of members of different Hogwarts houses coupling up and marrying each other?

Can a magnet rip protons from a nucleus?

Is there a star over my head?

How to split a string by the third .(dot) delimiter

What is going on: C++ std::move on std::shared_ptr increases use_count?

Why would thermal imaging be used to locate the Chandrayaan-2 lander?

Is there any detail about ambulances in Star Wars?

Could the government trigger by-elections to regain a majority?

How should we understand "unobscured by flying friends" in this context?

I changed a word from a source, how do I cite it correctly?

Are Democrats more likely to believe Astrology is a science?

CBP interview, how serious should I take it?

How to circle together certain entries of a matrix?

Determining if file in projected or geographic coordinates using ArcGIS Desktop?

Number of aircraft to operate in an airline company

Why didn't Thor use the All powerful spear instead of Stormbreaker?

How much power do LED smart bulb wireless control systems consume when the light is turned off?

Why is the the worst case for this function O(n^2)?

Have there been any countries that voted themselves out of existence?

Do Milankovitch Cycles fully explain climate change?

Is the space of Radon measures a Polish space or at least separable?

Improbable Inequalities

Is there a "right" way to interpret a novel? If so, how do we make sure our novel is interpreted correctly?



How to assign credential to WebRequest then navigate to it?


why is use of “new NetworkCredential(username, password)” not working for Basic Authentication to my website (from a WinForms C# app)?How do I enumerate an enum in C#?HTTP POST in .NET doesn't work.Net C# : Read attachment from HttpWebResponseGetResponse() slow only on my computerSession lost for return URL of GetResponse()Getting (500) Internal Server Error with webresponse objecthow to convert string data to html in richtextboxWhy WriteAllText Method Saves XML with special Characters?Getting bad request (400) on solrHttpWebRequest (401) Unauthorized with correct credentials






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I am trying to view report using someone else's credential. I am stuck on how to assign credential and then navigate to the URL.



Question:
Is it possible to assign credential to WebRequest then navigate to the url? Something like this maybe:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("UserName", "Password");
webBrowser1.Navigate(request.RequestUri);


I know i am able to see the report when i use something like this. But i cannot click the report:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("Username", "Password");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader receiveStream = new StreamReader(response.GetResponseStream());
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentStream = receiveStream.BaseStream;


Please help me on this. I stuck at this problem for too long now. Thank you.










share|improve this question





















  • 1





    Depends on whether its a login within the page of the website or an actual authentication request, if its an authentication of type basic, digest, NTLM, or Kerberos then yes, if its not then you would have to call the login page first with the proper post/get parameters.

    – Prix
    Mar 28 at 7:43












  • It is a windows credentials. Sorry i did not mention this before.

    – MRu
    Mar 28 at 8:13











  • Should work if that really is the case, this might help stackoverflow.com/a/1829634/342740

    – Prix
    Mar 28 at 10:18

















1















I am trying to view report using someone else's credential. I am stuck on how to assign credential and then navigate to the URL.



Question:
Is it possible to assign credential to WebRequest then navigate to the url? Something like this maybe:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("UserName", "Password");
webBrowser1.Navigate(request.RequestUri);


I know i am able to see the report when i use something like this. But i cannot click the report:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("Username", "Password");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader receiveStream = new StreamReader(response.GetResponseStream());
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentStream = receiveStream.BaseStream;


Please help me on this. I stuck at this problem for too long now. Thank you.










share|improve this question





















  • 1





    Depends on whether its a login within the page of the website or an actual authentication request, if its an authentication of type basic, digest, NTLM, or Kerberos then yes, if its not then you would have to call the login page first with the proper post/get parameters.

    – Prix
    Mar 28 at 7:43












  • It is a windows credentials. Sorry i did not mention this before.

    – MRu
    Mar 28 at 8:13











  • Should work if that really is the case, this might help stackoverflow.com/a/1829634/342740

    – Prix
    Mar 28 at 10:18













1












1








1


1






I am trying to view report using someone else's credential. I am stuck on how to assign credential and then navigate to the URL.



Question:
Is it possible to assign credential to WebRequest then navigate to the url? Something like this maybe:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("UserName", "Password");
webBrowser1.Navigate(request.RequestUri);


I know i am able to see the report when i use something like this. But i cannot click the report:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("Username", "Password");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader receiveStream = new StreamReader(response.GetResponseStream());
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentStream = receiveStream.BaseStream;


Please help me on this. I stuck at this problem for too long now. Thank you.










share|improve this question
















I am trying to view report using someone else's credential. I am stuck on how to assign credential and then navigate to the URL.



Question:
Is it possible to assign credential to WebRequest then navigate to the url? Something like this maybe:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("UserName", "Password");
webBrowser1.Navigate(request.RequestUri);


I know i am able to see the report when i use something like this. But i cannot click the report:



WebRequest request = WebRequest.Create(repUrl);
request.Credentials = new NetworkCredential("Username", "Password");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader receiveStream = new StreamReader(response.GetResponseStream());
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentStream = receiveStream.BaseStream;


Please help me on this. I stuck at this problem for too long now. Thank you.







c# webrequest






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 28 at 7:49









Prix

16.3k12 gold badges56 silver badges116 bronze badges




16.3k12 gold badges56 silver badges116 bronze badges










asked Mar 28 at 7:40









MRuMRu

3414 silver badges20 bronze badges




3414 silver badges20 bronze badges










  • 1





    Depends on whether its a login within the page of the website or an actual authentication request, if its an authentication of type basic, digest, NTLM, or Kerberos then yes, if its not then you would have to call the login page first with the proper post/get parameters.

    – Prix
    Mar 28 at 7:43












  • It is a windows credentials. Sorry i did not mention this before.

    – MRu
    Mar 28 at 8:13











  • Should work if that really is the case, this might help stackoverflow.com/a/1829634/342740

    – Prix
    Mar 28 at 10:18












  • 1





    Depends on whether its a login within the page of the website or an actual authentication request, if its an authentication of type basic, digest, NTLM, or Kerberos then yes, if its not then you would have to call the login page first with the proper post/get parameters.

    – Prix
    Mar 28 at 7:43












  • It is a windows credentials. Sorry i did not mention this before.

    – MRu
    Mar 28 at 8:13











  • Should work if that really is the case, this might help stackoverflow.com/a/1829634/342740

    – Prix
    Mar 28 at 10:18







1




1





Depends on whether its a login within the page of the website or an actual authentication request, if its an authentication of type basic, digest, NTLM, or Kerberos then yes, if its not then you would have to call the login page first with the proper post/get parameters.

– Prix
Mar 28 at 7:43






Depends on whether its a login within the page of the website or an actual authentication request, if its an authentication of type basic, digest, NTLM, or Kerberos then yes, if its not then you would have to call the login page first with the proper post/get parameters.

– Prix
Mar 28 at 7:43














It is a windows credentials. Sorry i did not mention this before.

– MRu
Mar 28 at 8:13





It is a windows credentials. Sorry i did not mention this before.

– MRu
Mar 28 at 8:13













Should work if that really is the case, this might help stackoverflow.com/a/1829634/342740

– Prix
Mar 28 at 10:18





Should work if that really is the case, this might help stackoverflow.com/a/1829634/342740

– Prix
Mar 28 at 10:18












1 Answer
1






active

oldest

votes


















0
















Setting credentials like below



request.Credentials = new NetworkCredential("UserName", "Password");


would be possible if a page accepts credentials (basic authentication), that to my experience in most cases it's not like that.



If you want to use WebRequest, you would need to supply headers, cookies, and you would need a cookie container, now how to get cookies is another story.



As you are using WebBrowser control. the easiest way that I would suggest is that you navigate to login page first, fill the credentials and click on submit button. then navigate to the page page you want:



private void webbrowser1_DocumentCompleted(object sender, DocumentCompletedEventArgs e)

if(webbrowser1.Url.EndsWith("login.aspx") //check if it is the login url

var doc = webbrowser1.Document;
doc.GetElementById("email").SetAttribute("value", email);
doc.GetElementById("password").SetAttribute("value", password);
doc.GetElementsByTagName("input").OfType<HtmlElement>()
.FirstOrDefault(x => x.GetAttribute("type") == "submit"))
.InvokeMember("click");

else

webbrowser1.Navigate(repUrl);






In the above answer, I have just assumed that login page is login.aspx and email and password fields have id of email and password, of course you have to change how you fill these inputs with thier own ids or if they don't have an Id using their names, ...






share|improve this answer

























  • Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

    – MRu
    Mar 28 at 8:13











  • @MRu then it's not on the internet right? it's on a local network?

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:15











  • Yes. Is it not possible?

    – MRu
    Mar 28 at 8:34











  • not impossible, but I haven't done it

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:40











  • Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

    – MRu
    Mar 28 at 8:44










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);














draft saved

draft discarded
















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55392376%2fhow-to-assign-credential-to-webrequest-then-navigate-to-it%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0
















Setting credentials like below



request.Credentials = new NetworkCredential("UserName", "Password");


would be possible if a page accepts credentials (basic authentication), that to my experience in most cases it's not like that.



If you want to use WebRequest, you would need to supply headers, cookies, and you would need a cookie container, now how to get cookies is another story.



As you are using WebBrowser control. the easiest way that I would suggest is that you navigate to login page first, fill the credentials and click on submit button. then navigate to the page page you want:



private void webbrowser1_DocumentCompleted(object sender, DocumentCompletedEventArgs e)

if(webbrowser1.Url.EndsWith("login.aspx") //check if it is the login url

var doc = webbrowser1.Document;
doc.GetElementById("email").SetAttribute("value", email);
doc.GetElementById("password").SetAttribute("value", password);
doc.GetElementsByTagName("input").OfType<HtmlElement>()
.FirstOrDefault(x => x.GetAttribute("type") == "submit"))
.InvokeMember("click");

else

webbrowser1.Navigate(repUrl);






In the above answer, I have just assumed that login page is login.aspx and email and password fields have id of email and password, of course you have to change how you fill these inputs with thier own ids or if they don't have an Id using their names, ...






share|improve this answer

























  • Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

    – MRu
    Mar 28 at 8:13











  • @MRu then it's not on the internet right? it's on a local network?

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:15











  • Yes. Is it not possible?

    – MRu
    Mar 28 at 8:34











  • not impossible, but I haven't done it

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:40











  • Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

    – MRu
    Mar 28 at 8:44















0
















Setting credentials like below



request.Credentials = new NetworkCredential("UserName", "Password");


would be possible if a page accepts credentials (basic authentication), that to my experience in most cases it's not like that.



If you want to use WebRequest, you would need to supply headers, cookies, and you would need a cookie container, now how to get cookies is another story.



As you are using WebBrowser control. the easiest way that I would suggest is that you navigate to login page first, fill the credentials and click on submit button. then navigate to the page page you want:



private void webbrowser1_DocumentCompleted(object sender, DocumentCompletedEventArgs e)

if(webbrowser1.Url.EndsWith("login.aspx") //check if it is the login url

var doc = webbrowser1.Document;
doc.GetElementById("email").SetAttribute("value", email);
doc.GetElementById("password").SetAttribute("value", password);
doc.GetElementsByTagName("input").OfType<HtmlElement>()
.FirstOrDefault(x => x.GetAttribute("type") == "submit"))
.InvokeMember("click");

else

webbrowser1.Navigate(repUrl);






In the above answer, I have just assumed that login page is login.aspx and email and password fields have id of email and password, of course you have to change how you fill these inputs with thier own ids or if they don't have an Id using their names, ...






share|improve this answer

























  • Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

    – MRu
    Mar 28 at 8:13











  • @MRu then it's not on the internet right? it's on a local network?

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:15











  • Yes. Is it not possible?

    – MRu
    Mar 28 at 8:34











  • not impossible, but I haven't done it

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:40











  • Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

    – MRu
    Mar 28 at 8:44













0














0










0









Setting credentials like below



request.Credentials = new NetworkCredential("UserName", "Password");


would be possible if a page accepts credentials (basic authentication), that to my experience in most cases it's not like that.



If you want to use WebRequest, you would need to supply headers, cookies, and you would need a cookie container, now how to get cookies is another story.



As you are using WebBrowser control. the easiest way that I would suggest is that you navigate to login page first, fill the credentials and click on submit button. then navigate to the page page you want:



private void webbrowser1_DocumentCompleted(object sender, DocumentCompletedEventArgs e)

if(webbrowser1.Url.EndsWith("login.aspx") //check if it is the login url

var doc = webbrowser1.Document;
doc.GetElementById("email").SetAttribute("value", email);
doc.GetElementById("password").SetAttribute("value", password);
doc.GetElementsByTagName("input").OfType<HtmlElement>()
.FirstOrDefault(x => x.GetAttribute("type") == "submit"))
.InvokeMember("click");

else

webbrowser1.Navigate(repUrl);






In the above answer, I have just assumed that login page is login.aspx and email and password fields have id of email and password, of course you have to change how you fill these inputs with thier own ids or if they don't have an Id using their names, ...






share|improve this answer













Setting credentials like below



request.Credentials = new NetworkCredential("UserName", "Password");


would be possible if a page accepts credentials (basic authentication), that to my experience in most cases it's not like that.



If you want to use WebRequest, you would need to supply headers, cookies, and you would need a cookie container, now how to get cookies is another story.



As you are using WebBrowser control. the easiest way that I would suggest is that you navigate to login page first, fill the credentials and click on submit button. then navigate to the page page you want:



private void webbrowser1_DocumentCompleted(object sender, DocumentCompletedEventArgs e)

if(webbrowser1.Url.EndsWith("login.aspx") //check if it is the login url

var doc = webbrowser1.Document;
doc.GetElementById("email").SetAttribute("value", email);
doc.GetElementById("password").SetAttribute("value", password);
doc.GetElementsByTagName("input").OfType<HtmlElement>()
.FirstOrDefault(x => x.GetAttribute("type") == "submit"))
.InvokeMember("click");

else

webbrowser1.Navigate(repUrl);






In the above answer, I have just assumed that login page is login.aspx and email and password fields have id of email and password, of course you have to change how you fill these inputs with thier own ids or if they don't have an Id using their names, ...







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 28 at 8:05









Ashkan Mobayen KhiabaniAshkan Mobayen Khiabani

24.2k19 gold badges72 silver badges129 bronze badges




24.2k19 gold badges72 silver badges129 bronze badges















  • Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

    – MRu
    Mar 28 at 8:13











  • @MRu then it's not on the internet right? it's on a local network?

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:15











  • Yes. Is it not possible?

    – MRu
    Mar 28 at 8:34











  • not impossible, but I haven't done it

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:40











  • Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

    – MRu
    Mar 28 at 8:44

















  • Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

    – MRu
    Mar 28 at 8:13











  • @MRu then it's not on the internet right? it's on a local network?

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:15











  • Yes. Is it not possible?

    – MRu
    Mar 28 at 8:34











  • not impossible, but I haven't done it

    – Ashkan Mobayen Khiabani
    Mar 28 at 8:40











  • Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

    – MRu
    Mar 28 at 8:44
















Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

– MRu
Mar 28 at 8:13





Sorry, i did not mention this in my question. I am using windows authentication. Is there a way to pass this? Since when i navigate to the report it still says that i log in as my current user. Not the user that i have set in new NetworkCredential("UserName", "Password");

– MRu
Mar 28 at 8:13













@MRu then it's not on the internet right? it's on a local network?

– Ashkan Mobayen Khiabani
Mar 28 at 8:15





@MRu then it's not on the internet right? it's on a local network?

– Ashkan Mobayen Khiabani
Mar 28 at 8:15













Yes. Is it not possible?

– MRu
Mar 28 at 8:34





Yes. Is it not possible?

– MRu
Mar 28 at 8:34













not impossible, but I haven't done it

– Ashkan Mobayen Khiabani
Mar 28 at 8:40





not impossible, but I haven't done it

– Ashkan Mobayen Khiabani
Mar 28 at 8:40













Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

– MRu
Mar 28 at 8:44





Basically the URL is just for me to see a specific SSRS report. But only one user has access to view the report. So that is why i need to pass that user credential when navigating to the URL.

– MRu
Mar 28 at 8:44








Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.




















draft saved

draft discarded















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55392376%2fhow-to-assign-credential-to-webrequest-then-navigate-to-it%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

은진 송씨 목차 역사 본관 분파 인물 조선 왕실과의 인척 관계 집성촌 항렬자 인구 같이 보기 각주 둘러보기 메뉴은진 송씨세종실록 149권, 지리지 충청도 공주목 은진현