2012-01-10 4 views
0

Это может показаться глупым, но я должен спросить, почему я не нахожу этот ответ нигде.HTML ~ Firefox Firebug - путают, почему исходный код html не показывает html, но в firebug проверяет элемент html?

У меня есть приложение, в котором пользователю необходимо будет зарегистрировать новую учетную запись пользователя на веб-сайте «wxw.reddit.c0m/register».

Однако, когда я использую Firefox Firebug для просмотра html, я получаю нечто совершенно иное, чем когда я просто щелкаю правой кнопкой мыши на сайте и просматриваю источник страницы.

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

Вот источник, который я получаю с помощью Firebug Firefox инспектировать элемент:

<td> 
<input type="hidden" value="Oo3Jo1I8bgzK68agMqo3s79ZZib2OkbK" name="iden"> 
<img class="capimage" src="/captcha/Oo3Jo1I8bgzK68agMqo3s79ZZib2OkbK.png" alt="i wonder if these things even work"> 
</td> 

Вот фактический исходный код страницы с правой кнопкой мыши на этой странице.

<td> 
<input name="iden" value="TwRNQVs8sFuU2B2IuESDFUdrnuVyuFc8" type="hidden"/><img class="capimage" alt="i wonder if these things even work" src="http://www.redditstatic.com/kill.png" /> 
</td> 

Почему бы обеим показать мне две разные версии HTML?

И как бы вы могли захватить этот источник для просмотра в ящике с помощью webclient?

ответ

1

Captchas динамически генерируется с использованием JavaScript. Поскольку вы не можете легко выполнить JavaScript, просто загрузив его (обычно вам нужен веб-браузер), это немного более безопасно для captcha.

Судя по тому, что вы используете WebClient, я бы сказал, что вы пытаетесь зарегистрироваться автоматически. Это может быть для «законных» целей, но оно также может быть использовано по неправильным причинам. В этом случае вам нужно открыть веб-страницу, используя Process.Start и зарегистрировать пользователя.

+1

Удивительный ответ Minitech ... это то, с чем я собираюсь ... Я не хочу, чтобы они выходили за пределы приложения только потому, что было бы неважно, если бы это было так ... но я будет использовать веб-браузер и позволить им войти в браузер, чтобы сначала зарегистрировать учетные записи. –

3

Источник источника даст вам буквально то, что браузер получает с сервера.

Firebug показывает текущее содержание страницы.

Эти два варианта будут отличаться, если с страницы JavaScript был обработан JavaScript с момента загрузки.

Вы можете получить текущий исходный код страницы, запустив этот букмарклет (т.е. либо наклеивая это в строке URL, или сделать закладку его в кнопку):

javascript:h=document.getElementsByTagName('html')[0].innerHTML;function%20disp(h){h=h.replace(/</g,'\n&lt;');h=h.replace(/>/g,'&gt;');document.getElementsByTagName('body')[0].innerHTML='<pre>&lt;html&gt;'+h.replace(/(\n|\r)+/g,'\n')+'&lt;/html&gt;</pre>';}void(disp(h)); 

(от Captain_kurO)

Это, в буквальном вопросе часть вашего вопроса. В противном случае, @minitech гораздо больше: CAPTCHA существует по какой-то причине, и вы как бы против этого. : p

Смежные вопросы