Заполните внешнюю форму, используя cURL? - PullRequest
0 голосов
/ 03 сентября 2011

Кто-нибудь может подсказать, как можно заполнить эту форму своими переменными и отправить ее с помощью cURL / PHP?Возможно ли это, поскольку кажется, что для отправки контента используется JavaScipt вместо обычного «поста».Спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

Он использует POST, однако он передает данные формы нескольким PHP-скриптам на этой странице. Лучше всего загрузить TamperData for Firefox и проверить связь с этими скриптами. Вот информация, которую я получил при отправке этой формы в gist . Пример сеанса приведен ниже:

15:13:13.371[1631ms][total 1631ms] Status: 200[OK]
POST http://tools.950buy.com/modules/2rss/2rss.php Load Flags[LOAD_BYPASS_CACHE  LOAD_BACKGROUND  ] Content Size[-1] Mime Type[text/html]
   Request Headers:
      Host[tools.950buy.com]
      User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20100101 Firefox/6.0.1]
      Accept[*/*]
      Accept-Language[en-us,en;q=0.5]
      Accept-Encoding[gzip, deflate]
      Accept-Charset[ISO-8859-1,utf-8;q=0.7,*;q=0.7]
      Connection[keep-alive]
      Content-Type[application/x-www-form-urlencoded; charset=UTF-8]
      X-Requested-With[XMLHttpRequest]
      Referer[http://tools.950buy.com/rss-submit/]
      Content-Length[117]
      Cookie[__utma=201106987.2026695530.1315001346.1315001346.1315001346.1; __utmb=201106987.3.10.1315001346; __utmz=201106987.1315001346.1.1.utmcsr=stackoverflow.com|utmccn=(referral)|utmcmd=referral|utmcct=/questions/7289661/fill-in-an-external-form-using-curl; __utmc=201106987]
      Pragma[no-cache]
      Cache-Control[no-cache]
   Post Data:
      url[http://www.test.com]
      title[Test Title]
      WebSite[http://www.test.com]
      email[test@test.com]
      description[Test Description]
   Response Headers:
      Date[Fri, 02 Sep 2011 22:13:16 GMT]
      Server[Apache]
      X-Powered-By[PHP/5.2.17]
      Vary[Accept-Encoding]
      Connection[close]
      Transfer-Encoding[chunked]
      Content-Type[text/html; charset=utf-8]
0 голосов
/ 03 сентября 2011

Это делается с помощью JavaScript.Он отправляет запрос на публикацию для каждого флажка на странице

. Это функции, которые необходимо скопировать:

function ActionSubmit(){
    var Posturl="/modules/";
    var url=$("#url").val();
    var title=$("#title").val();
    var WebSite=$("#WebSite").val();
    var email=$("#email").val();
    var description=$("#description").val();
    var data='url='+url+"&title="+title+"&WebSite="+WebSite+"&email="+email+"&description="+description;
    var str="";
    if (formVaildate()){
         $("[name='checkbox'][checked]").each(function(){
             str=$(this).val();
             strs=str.toLowerCase()
             strs=strs.replace("-","_");
             Posturl= Posturl+strs+"/"+strs+".php";
             URLSubmit(Posturl,data,str);
             Posturl="/modules/";
       });
    }
}
function URLSubmit(url,data,str){   
    $.ajax({
            url: url,
            type: 'POST',
            data: data,
            beforeSend:function(){
                    $("#"+str+"_State").html("Please wait...");
                },
            complete:function(){
                    $("#"+str+"_State").html("<img src='/images/right.gif'>");
                },
            success:function(msg){
               if (msg!=""){            
                $("#"+str+"_State").html("<img src='/images/right.gif'>");
               }else{
                   alert(msg);
               }
              }
        });

}
...