Пожалуйста, помогите: Как я могу очистить эту веб-страницу? - PullRequest
0 голосов
/ 29 ноября 2010

Есть сайт, который предлагает сервис поиска.Вы вводите номер, выполняете поиск, и он возвращает результаты.То, что я хочу сделать, это запустить этот поиск программно через coldfusion вместо того, чтобы идти на сайт и искать вручную.

Вот как выглядит форма на веб-странице, которую я хотел бы прочитать / почиститькак видно при просмотре источника страницы):

<form id="frmNumID" name="frmNum" action="" method="post">

    <TABLE border=0 cellPadding=0 cellSpacing=0>
     <TR>
      <TD align="center">
         <label class="NumLabel" for="Num" ACCESSKEY="1">ENTER NUM:</label>
        <input class="NumInput" id="Num" name="inputNum"  onfocusin="select()"  title="Num Input" tabindex="1" type="text" value=""  size ="29" maxlength="17" >&nbsp;&nbsp;

      </TD>

      <TD align="center">
         <input class="NumInput" title="Submit Num" tabindex="2" type="image" src="/include/pics/SubmitBtn.jpg" value="submit" ACCESSKEY="2">
      </TD>
     </TR>
     </TABLE>

     <TABLE border=0 cellPadding=0 cellSpacing=0>
     <TR>    
      <TD colspan="2" align="center">

        <input type="radio" name="displayType" value="NONE"   Checked  />No Pictures&nbsp;&nbsp;                          
        <input type="radio" name="displayType" value="STUFF"    /> Other Stuff&nbsp;&nbsp;                
        <input type="radio" name="displayType" value="MORESTUFF"    /> More Other Stuff  
      </TD>
     </TR>

    </TABLE>
    <div id="NUMMsg"></div>

  </form>

Единственное поле, которое меня действительно волнует, это поле ввода Num.Я хочу опубликовать значение в этом поле, запустить поиск и получить результаты в моем коде Coldfusion.Вот что у меня есть:

<cfhttp url="http://www.someurl.com/"
        method="POST">
    <cfhttpparam name="Num" type="FormField" value="123456789123456" />
</cfhttp>
<cfdump var="#cfhttp.filecontent#" />

Но когда я перехожу на страницу, дамп просто говорит "Connection Failure".Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

Из вашего примера кода не понятно, что такое URL действия отправки?Это пустоМожет быть, сайт устанавливает его с помощью JavaScript и т. Д.?

Возможно, вам также понадобится опубликовать переменную формы displayType, так как это флажок, и, возможно, необходимо указать какое-то значение.

Остерегайтесь соскобов экрана - это может быть кошмар обслуживания.если есть какой-либо способ использовать официальный API, который они предоставляют, вы должны сделать это, потому что как только они изменят свой код (опубликовать URL / разметку и т. д.), ваш код вполне может сломаться.

0 голосов
/ 29 ноября 2010

Хорошо, этот веб-сайт предложил решение: http://australiansearchengine.wordpress.com/2009/09/28/cfhttp-connection-failure/

Они предложили добавить следующие теги cfhttpparam:

<cfhttpparam type="header" name="accept-encoding" value="deflate;q=0">
<cfhttpparam type="header" name="te" value="deflate;q=0"> 

Теперь я больше не получаю ошибку соединения:)

...