Generating HTTP Request?
Aug 21, 2010In how many ways can an HTTP request be generated?
View 2 RepliesIn how many ways can an HTTP request be generated?
View 2 RepliesWhen I use WatiN to go to a specific web page, how can I fake the HTTP referrer with a query string (i.e. request is from google search with query string q=search_term)? So I can verify that the response header has the 301 redirect for specific referrer URL.
View 2 Repliesi redirect a page from http to https using http module begin request handler .i am calling webservice using ajax but it is saying webserice not defined .which otherwise works fineits work fine when rediect page in page_load instead .but i need to add function for https to http in every page. i still not know why ajax is not working when i use http module for redirect
View 3 RepliesI have a webservice which works 100% fine on my developer machine. Where Web Service is installed on LOCALHOST on my developer machine,Then i went to my servers, I installed webservice on one server and map it with the server where the website is hosted, Then i tried accessing this service using BROWSER from my web server, it worked fine, That means the mapping was done perfect.Then i run my program on web server (website). It worked fine on page1, then on page2, but when i did the same and call same function on page3, It popped me any error of
View 4 RepliesI there a way to know if a request is a soap request on AuthenticateRequest event for HttpApplication? Checking ServerVariables["HTTP_SOAPACTION"] seems to not be working all the time.
public void Init(HttpApplication context) {
context.AuthenticateRequest += new EventHandler(AuthenticateRequest);
}
protected void AuthenticateRequest(object sender, EventArgs e) {
app = sender as HttpApplication;
if (app.Request.ServerVariables["HTTP_SOAPACTION"] != null) {
// a few requests do not enter here, but my webservice class still executing
// ...
}
}
I have disabled HTTP POST and HTTP GET for webservices in my web.config file.
<webServices>
<protocols>
<remove name="HttpGet" />
<remove name="HttpPost" />
<add name="AnyHttpSoap" />
</protocols>
</webServices>
Looking at ContentType for soap+xml only partially solves my problem. For example,
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 1131
Content-Type: text/xml
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ro
Host: localhost
mymethod: urn:[URL]
Some clients instead of having the standard header SOAPAction: [URL], have someting like in example above. "mymethod" represents the method in my web service class with [WebMethod] attribute on it and [URL] is the namespace of the webservice. Still the service works perfectly normal. The consumers use different frameworks (NuSOAP from PHP, .NET, Java, etc).
I develop an asmx web service (i.e. ASP.NET 2.0). There's a piece of code that may read the contents of the HTTP request (via HttpContext.Current.Request.InputStream) while processing it. I realise that InputStream may only be read once for a request, and I make sure I never try to read it more than once.
The problem seems to be that if InputStream happens to be read during the early stages of the application's lifecycle (e.g. after pskill w3wp, during Application_Start), the HTTP request fails with a HTTP 400 - Bad Request error, with no explanation given, no exception thrown and no entry in the httperr log. If it is read later (e.g. within the web method itself), requests run fine whether InputStream is read or not. Application_Start runs fine if InputStream isn't read.
Is this some sort of ASP.NET bug? IIS bug? Or am I doing something wrong by daring to read InputStream? And if so, is there another way to get a look at the "raw" contents of the request without disturbing the inner workings of IIS/ASP.NET? In short, adding this code within Application_Start is enough to reproduce this error: using (StreamReader reader = new StreamReader(HttpContext.Current.Request.InputStream))reader.ReadToEnd();
I am trying to Generating a Request ID and keeping track of it from request to request.I just want to get the previous request number and bump it up by 1 and log it so I can keep track of the number of requests come to my page.I was looking into TempDataDictionary but that is not working for me.I am new to ASP.NET MVC soexcuse my ignorance.
View 1 RepliesI'm trying to allow a web form to use a PayPal buy it now. The relevant page is: [URL]
Based on which radio button a user selects, depends on which paypal button they are "redirected" to.
The subscriptions are easy - they are just a simple redirect.
The last option, requires a user select a venue. For this, i require to use the form below:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="10956105">
<table>
<tr><td><input type="hidden" name="on0" value="Venue">Venue</td></tr><tr><td>
<input type="text" name="os0" maxlength="60"></td></tr>
</table>
<input type="image" src="https://www.paypal.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
But of course, I want to do it without using that form.
What I have so far is:
if (singleOneOff.Checked)
{
paypalForm.Text = getPaypalForm(venueSelect.SelectedItem.Text);
var strJS = getPayPalPostJS("_xclick");
paypalJs.Text = strJS;
var xxx = "dd";
}
This determines if that particular radio button was ticked.
getPaypalForm
private String getPaypalForm(string venue)
{
StringBuilder strForm = new StringBuilder();
strForm.Append(@"<form action=""https://www.paypal.com/cgi-bin/webscr"" name=""_xclick""
[Code]....
However, if i select the radio button, and a venue, and press the button, nothing happens....
I followed this guide: [URL]
It uses asp.net (webforms), bunch of jquery plugins and whatnot.
Problem: there's unnecessary HTTP request to localhost/undefined and that makes every request take ~1s longer than needed.
Question: is there any tactic to find guilty code?
Clue: undefined makes me think that there's JS involved.
Firebug log:
GET /undefined HTTP/1.1
Host: localhost:17817
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; lv; rv:1.9.2) Gecko/20100115
Firefox/3.6
Accept: image/png,image/;q=0.8,/*;q=0.5
Accept-Language: lv,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-13,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost:17817/Default.aspx
if you right click a line in the code, it gives you a conditional breakpoint. Check the name of the variable that has the URL value, and set a condition when typeof URL === 'undefined' or url === 'undefined' and look at the stack
Just set breakproint at line 3400 (with no conditions). It does not go through there.
3397 ajax: function( s ) {
3398 // Extend the settings, but re-extend 's' so that it can be
3399 // checked again later (in the test suite, specifically)
3400 s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
Narrowed issue down a bit => commented out 1 ascx controller that renders some images and uses gallerific jquery plugin and magic request dissapeared.
Problem was with galleriffic plugin initialization. It couldn't find anchor and it's href for creating thumbnails when there were no images or something. It's cool now...
I am using C# + VSTS 2008 + .Net 3.5 + ASP.Net + IIS 7.0 + ADO.Net + SQL Server 2008. I want to develop an ASP.Net aspx page which has the following function,
1 It could accept 3 Url parameters param1, param2 and param3, and the request looks like this,
http://mysite.com/foo.aspx?parame1=abc¶m2=def¶m3=ghi
2 When the page is responsed to client browser, I want to display a text input and a submit button nearby in the result html page, and value of text input is the same as param1, in this sample, abc will be displayed in text box, in the browser address bar, I want to keep the original long url http://mysite.com/foo.aspx?parame1=abc¶m2=def¶m3=ghi;
3 When the user change the value in text input, and click submit button, I want to send this request again to foo.aspx, and changing the param1 value to the value which user entered in text input, and at the same time, keep values of parame2 and param3 the same as last request's response. For example, when user requests http://mysite.com/foo.aspx?parame1=abc¶m2=def¶m3=ghi, and the page displays, when user changes text input from abc to google, the new request will be http://mysite.com/foo.aspx?parame1=google¶m2=def¶m3=ghi
Any reference samples? My question is I do not know how to implement so many functions in one aspx page.
picking up the Users MAC address from the HTTP request.
The users will be from OUTSIDE my network.
I need to I can make the web request to a webservice which take a XML argument. And is expected to return a Binary response. I am able to make the request but while recieving the response back I am unable to get the response in binary. When I read the response
using streamreader see the header and some attached "HEBRISH" words probably binary but unable to sepreate it out. Please help in seprating out the binary the response data.
how do u handle dates in mvc when request is a http GET? I remember some discussoin on this last year but cant find the posts.. things like culture unaware, splitting the date field to 3 text fields insted of 1.
View 6 RepliesIs it possible to edit HTTP request using fiddler so that my asp.net application hosted elsewhere return true for the following code block
HttpContext.Current.Request.Url.Host == "localhost"
I am curious to know the reasons why the HTTP request encodes(URLEncoded) all the parameters before sending it across the network in POST request.
View 1 RepliesI am trying to implement Message API
I am not sure how I will be calling this from code-behind and in their snippet it says:
https://platform.3cinteractive.com/api/send_message.php
POST
username=aRDSe3vcaMzh06YrMcxcQw==&password=1BSvQc6lpNlnp4ufWgRLPHNJ7RMrL8CcaWCzL1Vtw+Y=&phone_number=+11234567890&trigger_id=1105&message=howdy
I'm currently trying to setup testing with Selenium. It seems that Selenium sends a HEAD request to my route /Home/Index before it sends the GET request. This causes all my tests to fail. I was wondering how I would go about getting HEAD requests to respond correctly (not 404).
View 3 Repliesi have a usercontrol which displays 1 inage this control is used several times on my page. the problem i have some images can be large so i need to load them using http request i think, i want to display a loading image until the actual image is loaded, what would be the best way to do this?
View 2 RepliesI am using an Zencoder API to transcode video files. Once the job is completed they will do a HTTP POST with XML or JSON data containing the Job ID and other info to the url we provide.
So if URL is www.abc.com/GetZencoderResponse.aspx or .ashx, how can I read the data they post?
excuse me for the underlines, i thought that would make my query stand out.
All I need is to send a http post request I pulled from fiddler.
I do not want to use HttpWebRequest class. It makes it hard to set up a request, does not allow to change host,
and when it does send it it looks nothing like the request I want. The server is very sensitive and unless I copy the request headers 100% it will return an empty page. Why can't I just type in the headers and send it that way? What would be 5 minutes of
work in php is taking the whole evening in asp.net.
This is what I am trying to send, simple as it gets: ...
we know that we can access previous page url in asp.net by using Request.UrlReferer. So i also used this property to access prev page url in my web application. But my problem is that all works fine in http:// and problem starts when move web site in production server with https:// instead of http:// So can any one have idea what to do to get Request.UrlReferer in https:// ? problem occurs all the other browser not in IE ( problem in : Mozzila,Safari,Chrome....)
View 3 RepliesI have the following error:
"The request failed with HTTP status 401: Unauthorized"
When i try to use an web site (hosted in IIS on Machine1) call a reporting service report using reportviewer (hosted in SQL Server in Machine2)
I already add Networking service permissions to SSRS in Machine2, but the error continues..
I am using an SMS Gateway to make my application receive SMSs. For this, the SMS Gateway sends a request to one of the pages in my application with the message as a querystring parameter. eg.[URL]. Now after my page gets invoked, I need to send an OK response to the SMS Gateway so that it doesn't keep retrying to send the same message to my application again and again. I cannot figure out how to send the OK response.
View 1 RepliesTo prevent duplicate requests (i.e. pressing F5 right after clicking a command button), I've setup my page base class to ignore the request if it's detected as a duplicate.
When I say 'ignore' I mean Response.End()
Now I thought I've seen this work before, where there's an issue, I just Response.End() and the users page just does nothing. I don't know the exact circumstance in which this worked, but I'm unable to repeat it now.
Now when I call Response.End(), I just get an empty browser. More specifically, I get this html.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8"></HEAD>
<BODY></BODY></HTML>
I setup the following test app to confirm the problem is not elsewhere in my app. Here it is:
Add the following to an aspx form
<asp:Label ID="lbl" Text="0" runat="server" /><br />
<asp:Button ID="btnAdd1" Text="Add 1" runat="server" /><br />
<asp:Button ID="btnAdd2" Text="Add 2" runat="server" /><br />
<asp:Button ID="btnAdd3" Text="Add 3" runat="server" /><br />
And here's the code behind file
using System;
namespace TestDupRequestCancellation
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
btnAdd1.Click += btnAdd1_Click;
btnAdd2.Click += btnAdd2_Click;
btnAdd3.Click += btnAdd3_Click;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
CurrentValue = 0;
else if (Int32.Parse(lbl.Text) != CurrentValue)
Response.End();
}
protected void Page_PreRender(object sender, EventArgs e)
{
lbl.Text = CurrentValue.ToString();
}
protected int CurrentValue
{
get
{
return Int32.Parse(Session["CurrentValue"].ToString());
}
set
{
Session["CurrentValue"] = value.ToString();
}
}
void btnAdd3_Click(object sender, EventArgs e)
{
CurrentValue += 3;
}
void btnAdd2_Click(object sender, EventArgs e)
{
CurrentValue += 2;
}
void btnAdd1_Click(object sender, EventArgs e)
{
CurrentValue += 1;
}
}
}
When you load the page, clicking any button does what is expected, but if you press F5 at any time after pressing one of the buttons, it will detect it as a duplicate request and call Response.End() which promptly ends the task. Which leaves the user with an empty browser.
Is there anyway to leave the user with the page as it was, so they can just click a button?
Also; please note that this code is the simplest code I could come up with to demonstrate my problem. It's not meant to demonstrate how to check for dup requests.
EDIT: Another change that will allow me to achieve the same results would be to disable all my event handlers.
I know you are all going to answer "use a debugging proxy server like Fiddler" but it's not that simple.
Here's my situation: I have some code that runs on a server, in an ASP.NET page code-behind (aspx.cs), which (among other things) establishes a connection to another server, grabs some stuff, and then formats it and returns it to the browser.
The problem is that the other server is doing the wrong thing, and so I want to be able to pass a debugging flag into the page (via the query string, e.g. ?debug=true) so that it will print out the completely raw HTTP request that it is sending to the other server so I can see what the heck is wrong. This code is running in several places so I want to be able to just pass in this flag on dev, staging, or production and just see the request, without having to figure out whether the production servers can talk to some proxy server that exists somewhere, etc.
You would think that it would be easy to do this, right? So I feel like I'm crazy or something but I looked at the reference for HttpWebRequest and its parent class WebRequest and -- nothing. No can do. You would think Microsoft would have thought of this. The closest thing is that you can access the "Headers" collection but when I tried it, it omitted some really important headers like "content length" -- so it must be "lying" to me (I know it's lying, because I know for a fact that the remote server is returning a 200 status -- the request is successful, it's just returning bad/different/wrong data)
Here is the asked-for code example:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.whatever.com");
req.Method = ... whatever ...;
... other setup for the request ...
/* At this point we are about to send the request.
What does the raw HTTP request look like? */
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();