Есть aspx страничка
Мне надо сделать запрос из приложения на дотнете (любым методом):
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(УРЛ);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
это я уже знаю
но как на этой самой страничке создать приемник этого запроса?
например я хочу передать Строку... просто строку... в метод странички что бы она ёё(строку) сохранила на диск(сервера)
как мне это реализовать?
зы: веб сервисы пока не предлагать
Возьми да залезь на страничке в Application.Context.Request и у тебя на руках полный запрос в парсеном виде..
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Возьми да залезь на страничке в Application.Context.Request и у тебя на руках полный запрос в парсеном виде..
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, <Аноним>, Вы писали:
А>Есть aspx страничка
А>Мне надо сделать запрос из приложения на дотнете (любым методом):
А>А>HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(УРЛ);
А>HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
А>
А>это я уже знаю
А>но как на этой самой страничке создать приемник этого запроса?
А>например я хочу передать Строку... просто строку... в метод странички что бы она ёё(строку) сохранила на диск(сервера)
Либо Post или Get
в случае GET ты запрашиваешь не УРЛ, а УРЛ?str=твоя_строка
на странице просто смотришь Request.QueryString["str"] и сохраняешь
в случае POST почти тоже самое, тока данные передаются не в урле, а "следом" за запросом.
запрашивать их также, тока через Forms[] коллекцию
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, <Аноним>, Вы писали:
А>>Есть aspx страничка
А>>Мне надо сделать запрос из приложения на дотнете (любым методом):
А>>А>>HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(УРЛ);
А>>HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
А>>
А>>это я уже знаю
А>>но как на этой самой страничке создать приемник этого запроса?
А>>например я хочу передать Строку... просто строку... в метод странички что бы она ёё(строку) сохранила на диск(сервера)
M>Либо Post или Get
M>в случае GET ты запрашиваешь не УРЛ, а УРЛ?str=твоя_строка
M>на странице просто смотришь Request.QueryString["str"] и сохраняешь
M>в случае POST почти тоже самое, тока данные передаются не в урле, а "следом" за запросом.
M>запрашивать их также, тока через Forms[] коллекцию
супер
получилось
а можно подробнее с постом?
Вот пример.... с сохранением сессии между запросами
метод Request_Post
ддя того чтобы доступать на странице к данным через Forms[], post_body должно быть формата
key1=val1&key2=val2
но в приципе, если оно буде просто сплошной строкой, его тоже можно вытащить но это более запарно
public class HTTPClient
{
private Cookie Sessid;
private string[ ] proxys;
private string sess_cookie_name;
private int p_index = 0;
private bool use_proxy = false;
public HTTPClient( bool use_proxy, string session_cookiename )
{
this.use_proxy = use_proxy;
this.sess_cookie_name = session_cookiename;
if ( use_proxy )
{
ArrayList p = new ArrayList();
using ( StreamReader r = new StreamReader( @"c:\p.txt" ) )
{
while ( r.Peek() > -1 )
p.Add( r.ReadLine() );
}
proxys = (string[ ]) p.ToArray( typeof ( string ) );
}
}
public void ClearCookie( )
{
Sessid = null;
}
public void set_next_proxy( )
{
if ( p_index < proxys.Length - 1 )
p_index++;
}
public HttpWebResponse Request( string sUrl )
{
return Request( sUrl, true );
}
public HttpWebResponse Request_Post( string path, string post_body )
{
return Request_Post( path, post_body, true );
}
public HttpWebResponse Request_Post( string path, string post_body, bool bAutoRedirect )
{
try
{
HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create( path );
if ( use_proxy )
{
string[ ] prx = proxys[ p_index ].Trim().Split( ':' );
WebProxy prox = new WebProxy( prx[ 0 ], Int32.Parse( prx[ 1 ] ) );
httpWebRequest.Proxy = prox;
}
httpWebRequest.AllowAutoRedirect = bAutoRedirect;
httpWebRequest.CookieContainer = new CookieContainer();
if ( Sessid != null )
{
httpWebRequest.CookieContainer.Add( Sessid );
}
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
byte[ ] ByteQuery = Encoding.ASCII.GetBytes( post_body );
httpWebRequest.ContentLength = ByteQuery.Length;
Stream QueryStream = httpWebRequest.GetRequestStream();
QueryStream.Write( ByteQuery, 0, ByteQuery.Length );
QueryStream.Close();
HttpWebResponse httpWebResponse = (HttpWebResponse) httpWebRequest.GetResponse();
httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies( httpWebRequest.RequestUri );
if ( httpWebResponse.Cookies[ sess_cookie_name ] != null )
{
Sessid = httpWebResponse.Cookies[ sess_cookie_name ];
}
return httpWebResponse;
}
catch ( WebException ex )
{
return ex.Response as HttpWebResponse;
}
}
public HttpWebResponse Request( string sUrl, bool bAutoRedirect )
{
try
{
HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create( sUrl );
if ( use_proxy )
{
string[ ] prx = proxys[ p_index ].Split( ':' );
WebProxy prox = new WebProxy( prx[ 0 ], Int32.Parse( prx[ 1 ] ) );
httpWebRequest.Proxy = prox;
}
httpWebRequest.AllowAutoRedirect = bAutoRedirect;
httpWebRequest.CookieContainer = new CookieContainer();
if ( Sessid != null )
{
httpWebRequest.CookieContainer.Add( Sessid );
}
HttpWebResponse httpWebResponse = (HttpWebResponse) httpWebRequest.GetResponse();
httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies( httpWebRequest.RequestUri );
if ( httpWebResponse.Cookies[ sess_cookie_name ] != null )
{
Sessid = httpWebResponse.Cookies[ sess_cookie_name ];
}
return httpWebResponse;
}
catch ( WebException ex )
{
return ex.Response as HttpWebResponse;
}
}
}
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
а почему когда я пытаюсь сделать обычный запрос к аспх страничке на локалхосте
вылетает exc?
The remote server returned an error: (401) Unauthorized.
Здравствуйте, <Аноним>, Вы писали:
А>а почему когда я пытаюсь сделать обычный запрос к аспх страничке на локалхосте
А>вылетает exc?
А>А>The remote server returned an error: (401) Unauthorized.
А>
Возможно у вас в этом приложении стоит Windows Authentication?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, <Аноним>, Вы писали:
А>>а почему когда я пытаюсь сделать обычный запрос к аспх страничке на локалхосте
А>>вылетает exc?
А>>А>>The remote server returned an error: (401) Unauthorized.
А>>
M>Возможно у вас в этом приложении стоит Windows Authentication?
вот что нашел в конфиге и aspx и websсервиса
<authentication mode="Windows"/>
причет когда я все копирую на хостинг то aspx доходит а запрос метода вебсервиса нет