Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

POST redirect, cURL fsockopen() i .htaccess problemi

[es] :: PHP :: POST redirect, cURL fsockopen() i .htaccess problemi

[ Pregleda: 1663 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
79.101.146.*



+4 Profil

icon POST redirect, cURL fsockopen() i .htaccess problemi22.10.2009. u 14:04 - pre 177 meseci
Zelim da postignem redirekciju uz $_SERVER['REQUEST_METHOD']==POST
U pitanju je kucni comp, Vista SP2 i xampplite sa mysql i apacem.


Ako koristim header("Location: http://$host/$path"); zavrsim na stranici ali uz $_SERVER['REQUEST_METHOD']==GET

Prva varijanta je pravljenje linka sa praznom formom:
Code:
<form action='{$gde}' method='post'>
<input type='submit' name='{$var}' value='Submit' title='{$title}' />
</form>

Malo ruzno, ali radi. Jedina mana je sto korisnik mora da klikne na Submit dugme da bi otisao na zeljenu stranicu uz POST. (Obican link <a href /a> radi redirekciju uz GET.)

Zelim da izbegnem to Submit kliktanje.
Moze uz java scropt koji automatski "klikne". Nije lose, ali daleko od onoga sto ja zelim.

Googlam i nadjem 2 opcije: cURL i fsockopen()

Tu nastaju problemi koji mi uopste nisu jasni.

Ovo sam nasao kao primer za POST + redirect uz pomoc cURL:
Code:
$pw='test:test';
 $l='http://localhost/www/sajt/user/user.php';
$rf='http://localhost/www/sajt/login.php';

curl_setopt($cc, CURLOPT_URL, $l);
curl_setopt($cc, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($cc, CURLOPT_REFERER, $rf);
curl_setopt($cc, CURLOPT_FOLLOWLOCATION, TRUE); // valjda za redirekciju

curl_setopt($cc, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($cc, CURLOPT_USERPWD, $pw);

curl_setopt($cc, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($cc, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($cc, CURLOPT_POST,TRUE);
$po="key1=value1&key2=value2";
curl_setopt($cc, CURLOPT_POSTFIELDS,$po);

$result=curl_exec($cc);
if($result==false){e("BAD URL: {$l}");}

if($result!=0)
{
echo 'Info: ';
print_r(curl_getinfo($cc));
echo '<br />';
echo 'Errno: ', curl_errno($cc), '<br />';
echo 'Error: ', curl_error($cc), '<br />';
echo "<br />$l";
}
curl_close($cc);


Pitanja:

Xampplite nudi .htaccess zastitu. to sam uradio vise zezanja radi i stavio test test user i pass.
Sa obicnim linkom ili da post-form linkom redirekcija radi bez problema.
Sa cURL POSTom sam imao 401 Error Access denied.
Naravno, kad u cURL stavim userpass test:test, onda prolazi.

1. Kako i zasto cURL nije u stanju da prodje na zeljenu stranicu?
2. Kako da podesim cURL da se ponasa identicno kao <form action='...> i da ne trazi user:pass?

3. Gore navedeni kod ne radi. Nema greske, nema errora! Samo NE radi. Ostanem na belom i praznom login.php umesto da me prebaci na user.php. Kako, zasto, sta moram da uradim sa xampom da proradi redirekcija?

4. Ako stavim CURLOPT_RETURNTRANSFER, FALSE; javlja Error 404. Object not found! The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated.
Zasto?


Od muke sam probao da napravim istu POST redirekciju sa fsockopen ali tu mi stalno javlja:
Warning: fsockopen() [function.fsockopen]: unable to connect to http://localhost:80 (Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?)

Ja sam zbunjen i ne znam ni gde ni gde ni kako vise da trazim resenje.

[Ovu poruku je menjao MilosDj dana 22.10.2009. u 15:39 GMT+1]
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
91.148.93.*



+13 Profil

icon Re: POST redirect, cURL fsockopen() i .htaccess problemi22.10.2009. u 14:47 - pre 177 meseci
Je l' mozes da objasnis zasto pokusavas ovo da uradis, tj. sta pokusavas da uradis ? :-)
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: POST redirect, cURL fsockopen() i .htaccess problemi22.10.2009. u 15:23 - pre 177 meseci
Imaš mnoge klase koje rade to što tebi treba - obavljanje HTTP zahteva. Jedna od njih je Snoopy. I sad ispada da ja stalno forsiram taj Zend Framework , al' eto i u njemu imaš komponentu Zend_Http_Client, koja sjajno obavlja posao.
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.b92.net.

Sajt: www.gvozden.info


+68 Profil

icon Re: POST redirect, cURL fsockopen() i .htaccess problemi22.10.2009. u 15:29 - pre 177 meseci
Ni meni nije bas jasno...
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
79.101.146.*



+4 Profil

icon Re: POST redirect, cURL fsockopen() i .htaccess problemi22.10.2009. u 16:00 - pre 177 meseci
Kao sto sam rekao u prvoj recenici, sve sto zelim da uradim je redirekcija na zeljenu web stranicu uz POST. Nista posebno, bar sam tako mislio dok nisam to pokusao. Cak ne mora ni jedna 'var=value' da se postuje, mada mislim da to bas i nije moguce.

Pogledacu snupija, hvala.

Nije mi jasno zasto kod mene ne radi cURL koji (valjda) radi svim ostalim ljudima na planeti zemlji.
Gde gresim? A nigde errora! Sve ok, samo nece da ode na zeljenu stranu. Ili ce sve to resiti xampplite 1.7.3?
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
79.101.146.*



+4 Profil

icon Nasao bug i napravio novi :D23.10.2009. u 13:41 - pre 177 meseci
Code:
curl_setopt($cc, CURLOPT_RETURNTRANSFER, TRUE);
Ovde je bio "error". Return transfer mora da se setuje na FALSE ili da se skroz izostavi i onda redirekcija radi!
Naravno, sve bi to bilo u redu da nisam makar 4x promenio true/false.
Takodje je prestala da mi radi ona lepa header() 307 POST redirekcija...

U medjuvremenu sam nasao i ovo:
Code:
open the file …\\\xampp\apache\conf\extra\httpd-xampp.conf 

Order deny,allow
Deny from all
Allow from localhost

changed this to:

Deny From none
Allow from All
Na zalost ne znam kakvog je to uticaja imalo. Vratio sam httpd-xampp.conf na staro.

Sto vise razmisljam, sklon sam misljenju da se zabagobao sam Apac servis. Sve je proradilo kad sam izmenio httpd-xampp.conf. Ali gle cuda, sada sve radi i sa starim setovanjima!!! Naravno httpd-xampp.conf izmena je zahtevala reset compa jer iz meni nepoznatog razloga reset samog Apache servisa ne pomaze.
Sve u svemu cURL redirekcija sada radi. Najverovatnije jer sam resetovao comp...
Ako neko ima drugu ideju, nek se oseti pozvanim da mi objasni ovu malu misteriju.

Sad sam shvatio da uz cURL redirekciju gubim predhodno postavljeni session, ali valjda cu izgooglati i resenje za to :)

Hvala svima
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

[es] :: PHP :: POST redirect, cURL fsockopen() i .htaccess problemi

[ Pregleda: 1663 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.