Bunun biraz garip gelebileceğini biliyorum, ancak bazı parametreleri $ _POST dizisine iletmem gerekiyor. Apache'nin yaptığı gibi ya da başka bir web sunucusuna benzer.
Ne yazık ki Ubuntu'm için her yerde libapache2-mod-php5
bulunamadı.
Bunun biraz garip gelebileceğini biliyorum, ancak bazı parametreleri $ _POST dizisine iletmem gerekiyor. Apache'nin yaptığı gibi ya da başka bir web sunucusuna benzer.
Ne yazık ki Ubuntu'm için her yerde libapache2-mod-php5
bulunamadı.
Kolayca yapılabilir değil. İçeri php-cgi
ikili ve boru sahte POST isteği çağırabileceği Ama CGI ortam değişkenleri bir sürü kurmak gerekir.
echo 'var1=123&var2=abc' | REQUEST_METHOD=POST SCRIPT_FILENAME=script.php REDIRECT_STATUS=CGI CONTENT_TYPE=application/www-form-urlencoded php-cgi
Not: Yetersiz, böyle çalışmaz. Ama böyle bir şey ... sadece senaryoyu yama ve önceden tanımlanmış bir ortam değişkeni dan $ _POST dizi yüklemek izin verirsen Kesinlikle daha kolay
.
$_POST = parse_url($_SERVER["_POST"]);
Sonra basitlik için _POST=var=123 php script.php
gibi çağırmak.
kullanım bukle verilerini
bukle --bilgi "name = ii" "post Param1 = deger1 & param2 = deger2" http://test.com/sample.php
OP olarak karıştı im curl için sormuyor – anthonygore
Bunu reddetmek için bir neden göremiyorum. OP kıvırmak istemedi, ama aynı zamanda çok spesifik değildi ve bu cevap kesinlikle işe yarıyor. Ayrıca kesinlikle kolay. Upvoted. – Anthony
Curl web sunucusundan geçmeli ve özellikle bir sunucu kullanmadığını belirtti. –
Daha ucuz olduğundan, bunun için bir çözüm ararken ve geldi edildi Google’da ilk isabet The second one bir şekilde benim için yararlı oldu, çünkü PHP betiğine erişiminiz varsa ve bunu değiştirebilirseniz gerçekten çok kolay bir çözümü var.
Sadece senaryonun başlangıcında aşağıdaki satırları ekleyin: ihtiyacım gibi, $ _GET veya $ _POST kullanmak istiyorsanız
/* if started from commandline, wrap parameters to $_POST and $_GET */
if (!isset($_SERVER["HTTP_HOST"])) {
parse_str($argv[1], $_GET);
parse_str($argv[1], $_POST);
}
Bu kod küçük bir parça (Eğer hile karar verebilir yok ya . o, hem
Senaryonu değiştirdikten sonra size args geçen komut ile diyebilirsin:
php yourscript.php 'arg1=x&arg2=y'
Eğlencenin
Bu bir çekicilik gibi çalıştı. Aslında Zend'in Eclipse sürümünü kullanıyorum. Zend'in belgelerine göre bir hata ayıklama profili oluşturdum ve PHP Script Argümanlarını ekledim. Kodunuzu PHP betiğinin ve viola'nın üstüne koyuyorum! $ Argv [] 'da saklanan argümanları _POST dizisine ayrıştırdı. Çok grats! – MikeyE
Benim için çok işe yaramadı (W10 OS): $ _GET/$ _ POST dizileri için tek tırnakların çift tırnak ile değiştirilmesi gerekiyordu. –
http://superuser.com/q bakın uestions/149329/nasıl-do-i-make-a-post-istek-ile-curl ve birleştirilmelidir. – Neal