CURL ile bir tarayıcı aracılığıyla değil, bir URL görebilirsiniz

0 Cevap php

Ben geliştiriyorum bir uygulama üzerinde çalışırken ben bugün ilginç bir sorunu içine koştu. Bu onun için benim iş akışını ayarlamak için nasıl / neden oluyor Umarım birileri bilir!

Background:
I'm writing an application that helps students at universities get in touch with each other. The basic workflow is as follows:

  1. Hizmet için kullanıcı kayıtları
  2. Uygulama kendi adı için üniversite dizini yoklamak için CURL kullanır
  3. Bir veritabanı tablosundaki kendi iletişim bilgileri saklamak

My test site is the Rutgers University directory (http://www.acs.rutgers.edu/directory) I can access the service fine through my browser (Posts to http://www.acs.rutgers.edu/pls/pdb_p/Pdb_Display.search_results), but if I try to post the same information via CURL, I get a 404 error.

Ben bir tarayıcı doğrudan bu url açın ve veri göndermek için kendi formunu kullanmak istemiyorsanız Note: Ben aynı hatayı alıyorum.

Code:
Here is the code they use on the directory site:

<fieldset>
<legend>Search For People</legend>
<div style="width:50%;margin-left:auto;margin-right:auto;">
<form method="post" action="http://www.acs.rutgers.edu/pls/pdb_p/Pdb_Display.search_results" name="thisform" onkeyup="highlight()" onclick="highlight()">
    <p>
        <label for="p_name_last">Last Name:&nbsp;&nbsp;[Required]</label><br>
        <input tabindex="1" accesskey="L" class="required" type="text" id="p_name_last" name="p_name_last" size="25" maxlength="23">
    </p> 
    <p>
        <label for="p_name_first">First Name:&nbsp;&nbsp;[or initial]</label><br> 
        <input tabindex="2" accesskey="f" type="text" id="p_name_first" name="p_name_first" size="25" maxlength="23"> 
    </p>
    <input tabindex="3" type="submit" value="Search">&nbsp;&nbsp;
</form>
</div>

Ve burada hizmetini kıvrılıp kullanıyorum kodu:

<?php
$p_name_last = "doe";
$p_name_first = "";
$curlPost = 'p_name_last='  . urlencode($p_name_last) . '&p_name_first=' . urlencode($p_name_first) . '&SUBMIT=Search';
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.acs.rutgers.edu/pls/pdb_p/Pdb_Display.search_results');
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); 
if( ! $result = curl_exec($ch)) 
{ 
    trigger_error(curl_error($ch)); 
} 
curl_close($ch); 
echo "<pre>";
print_r($result); 
?>

Herhangi bir düşünce ya da öneri büyük mutluluk duyacağız!

Thanks,
Mike

0 Cevap