Sign in to follow this  
Followers 0
timmalos

IE.au3 : How to get status request (like Error 404)

9 posts in this topic

Hi.

I work with IE.au3 and i need to know how i can check if the page is not a 404 error.

I can't use functions to read source and check if 404 is here or something like this cause i can have some pages where 'error 404' is written as text but are well loaded, so i want something more reliable, like read the HEAD of the Get request to see the real status of the request but i can't manage to find how with IE.au3

Thx for helping me,

Tim

Share this post


Link to post
Share on other sites



Not exactly what i expected : i want to know which error (404,500,etc) occurs when there is one.

There is no way to get the HEAD of the 'Get request' did by IE?

Share this post


Link to post
Share on other sites

I think this should be possible by using the written by trancexx.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Ye it's easy to do it with WinHTTP UDF but my page must be load with IE and i don't want to load the same page with another GET request a second time.

Internet Explorer must have this header somewhere, just need to find where :o

Share this post


Link to post
Share on other sites

Then you need to dig into COM for IE.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

That's what i'm asking.

I'm on MSDN since this morning and i can't find this **** >_< , english difficult for me

Found referer and stuff like that http://msdn.microsoft.com/en-us/library/ms534365%28v=vs.85%29

But cant find the status.

If i look with a sniffer i can get it, for example :

HTTP/1.1 401 Authorization Required

Date: Thu, 05 Jul 2012 13:52:14 GMT

Server: Apache

WWW-Authenticate: Basic realm="Access to /logs"

Content-Length: 615

Keep-Alive: timeout=2, max=200

Connection: Keep-Alive

Content-Type: text/html

Edited by timmalos

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Seems to be impossible. Will need to do it with WinHTTP i guess.

There are some DOM properties which the browser determines by looking at the headers, but there isn't an over-arching HTTP Headers object that will contain all of the headers.

Thx for your answer !

Edit : But DebugBar - IE extension for web developer can do it for example. I just wonder how they manage to do it.

Even if the bar must be opened before the load of the page, they manage to intercept all the request response... would know how they do it.

Edited by timmalos

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

I finally will use curl, only when i get errors. (Don't want to load 2 times each page)

curl --retry 1 --silent --no-sessionid -N -m 10 -H "Pragma: no-cache" --no-keepalive --tcp-nodelay --url 'https://authentification-cerbere.application.i2/authSAML/login/LogoffAction.do?domain=vide' -w %{http_code}:%{time_namelookup}:%{time_connect} -A Mozilla/5.0 -o curl.log

Returns Http_Code:Time_NameLookup:Time_connect

Edited by timmalos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • Spask
      By Spask
      Hi, I'm trying to find a text value inside of a html.
      This is what the line looks like normally:
      <p id="line1" class> <span class="bot">TEXT HERE</span> </p> The text then changes to a non breaking space:
      <p id="line1" class> <span class="bot">&nbsp;</span> </p> And then it changes back to normal text but it's different every time.
      Can I code this so that it grabs the text every time it changes and has a variable that represents it?
      I currently have this inside of my loop:
      $span = .document.getElementsByTagName("span") For $text In $span If $text.value = "&nbsp;" Then Sleep(50) MsgBox(0,0,0) ;messagebox to test if it can be found, but I don't know how to grab the text EndIf Next The problem is that there are many other lines in the html that have the same span but are called "line3", "line5", etc and the one I need is from "line1".
      I will appreciate if anyone can help with this!
    • electrons
      By electrons
      hi  , hope  you all doing well 
       cant find any elements on the page ?  and the right click mouse dont work too?
      iam trying with more than method , i need help please!!
       

    • ur
      By ur
      I have kept below line to wait for IE to load the site completely and continue.
      _IELoadWait($oIE)
       
      But, the code is continuing without waiting for it and I my execution is failing as the elements are not loaded completely.

       
      Any suggestions for alternate code to wait for the browser to load completely?
       
    • ur
      By ur
      We can select elements in IE using their IDs as below.
      Local $oDiv = _IEGetObjById($oIE, "x-auto-16-input") But to one button in the webpage, there is no ID to it.
      In selenium we have option to select this element using the CssSelector and clicked the button using below code in c# selenium.
      driver.FindElement(By.CssSelector("button.x-btn-text")).Click(); What is the alternative for this in AUtoIT?
    • FrancescoDiMuro
      By FrancescoDiMuro
      Good morning everyone
      I worked a bit on a little project of mine, and I managed to do what I was trying to do, or, automate a quiz in AutoIt.
      Now, everything works fine but, in order to achieve what I'm trying to achive, I'd like to make this script run faster.
      I'll attach a portion of the code in order to let you understand what my script does.
      $objIE_h1 = _IETagNameGetCollection($objIE, "h1") ; Take the text of the answer If @error Then ConsoleWrite("Errore durante la lettura degli h1 nella pagina. - Errore: " & @error & @CRLF) Else For $objElement In $objIE_h1 $strInnerText = $objElement.innerText Next Select Case StringInStr($strInnerText, "QUESTION") ; Here is the question ; PS4 PRO $objSpans = _IETagNameGetCollection($objIE, "span") ; Answers are stored here For $objElement In $objSpans If $i >= 4 Then $strAnswer = $objElement.innerText ; Take the text of the answer n° 0, 1, 2, 3 If StringInStr($strAnswer, "CORRECT ANSWER") Then ; If I match the correct answer, then, I have to click on the input with answer id = answer_i $j = $i - 4 $objInput = _IEGetObjById($objIE, "answer_" & $j) If @error Then ConsoleWrite("Errore durante la lettura della risposta #" & $i & " - Errore: " & @error & @CRLF) Else _IEAction($objInput, "click") If @error Then ConsoleWrite("Errore durante il click sull'elemento. - Errore: " & @error) Else ConsoleWrite($j & ") Risposta: " & $strAnswer & @CRLF) ExitLoop EndIf EndIf EndIf $i+=1 Else $i+=1 EndIf Next $i = 0 $j = 0 This is what my script does.
      Questions are 20, in which I have 15 multiple choice question, 2 images ( on which I use _IEImgClick() ), and 3 text inputs ( a simple send with the text I have to enter ).
      How can I make all of these, faster?
      If I reach this goal, I've probably done one of my best goals in life, and I'd like to share my happiness with you, giving a huge donation to this fantastic community!
      Thanks for your help