Recently Browsing 0 members
No registered users viewing this page.
is there a way to use inetget() to catch the content of an 404 error page returned by the web server?
$URL="https://www.autoitscript.com/ThisPathDoesntExist" $content=InetGet($url,"c:\temp\xxx.html",1+2) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $content = "' & $content & """" & @CRLF & "@Extended: """ & @extended & """" & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
>"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\temp\löschmich\xxx.au3" /UserParams +>15:27:05 Starting AutoIt3Wrapper v.18.708.1148.0 SciTE v.184.108.40.206 Keyboard:00000407 OS:WIN_10/ CPU:X64 OS:X64 Environment(Language:0407) CodePage:0 utf8.auto.check:4 +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\admin.AD\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\admin.AD\AppData\Local\AutoIt v3\SciTE >Running AU3Check (220.127.116.11) from:C:\Program Files (x86)\AutoIt3 input:C:\temp\lÃ¶schmich\xxx.au3 +>15:27:05 AU3Check ended.rc:0 >Running:(18.104.22.168):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\temp\lÃ¶schmich\xxx.au3" --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop @@ Debug(6) : $content = "0" @Extended: "0" >Error code: 13 +>15:27:05 AutoIt3.exe ended.rc:0 +>15:27:05 AutoIt3Wrapper Finished. >Exit code: 0 Time: 0.9361
The browser (I use Chrome) is displaying this 404 page: (That's what I'd like to catch)
Not Found The requested URL /ThisPathDoesntExist was not found on this server. html code (Browser ctrl+u):
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL /ThisPathDoesntExist was not found on this server.</p> </body></html>
Wireshark response 404 packet:
Hypertext Transfer Protocol HTTP/1.1 404 Not Found\r\n Server: nginx\r\n Date: Wed, 06 Apr 2022 13:34:26 GMT\r\n Content-Type: text/html; charset=iso-8859-1\r\n Content-Length: 217\r\n Connection: keep-alive\r\n Vary: Accept-Encoding\r\n \r\n [HTTP response 1/1] [Time since request: 0.056074000 seconds] [Request in frame: 1476] [Request URI: http://www.autoitscript.com/ThisPathDoesntExist] File Data: 217 bytes Line-based text data: text/html (7 lines) <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL /ThisPathDoesntExist was not found on this server.</p> </body></html> any suggestions appreciated,
<edit> also tried _inetgetsource() and inetread() </edit>
I have an AutoIT script It monitors 2 websites for content that applys to me and the services that I provide. One site is : www.Freelancer.com The other: www.PeoplePerHour.com Both sites publish new jobs on their site hourly or so. My AutoIT app, will view those sites and present new jobs to me in a grid that pops up on my screen. Lately, the app has stopped showing me any jobs from PeoplePerHour.
For freelancer.com, Inetget is giving full html but for peopleperhour, now its not coming.
Local Static $hTimer = 0
Local Static $hDownload = 0
Local $aTitlesandUrls = 0
Local Static $sTempFile = ""
If $hTimer = 0 Then $hTimer = TimerInit()
If $hDownload = 0 Then
$sTempFile = _WinAPI_GetTempFileName(@TempDir)
ConsoleWrite("Checking PPH..." & @CRLF)
ConsoleWrite(">Downloading..." & @CRLF)
;~ $hDownload = InetGet("http://www.peopleperhour.com/freelance-jobs", $sTempFile, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)
$hDownload = InetGet("http://www.peopleperhour.com/freelance-jobs", $sTempFile, $INET_FORCERELOAD)
;~ Return 0
;~ Local $isCompleted = InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)
;~ Local $isError = InetGetInfo($hDownload, $INET_DOWNLOADERROR)
;~ If TimerDiff($hTimer) > 3000 And $isError Then
;~ ConsoleWrite("!PPH Fail" & @CRLF)
;~ $hDownload = 0
;~ Return 0
Local $Show = 0
;~ If TimerDiff($hTimer) > 3000 And $isCompleted Then
If $hDownload > 0 Then
ConsoleWrite("+Downloaded..." & @CRLF)
Local $sPPHHtml = FileRead($sTempFile)
$aTitlesandUrls = _StringBetween($sPPHHtml, '"title">' & @LF, 'time>')
Local $sTitle = ""
Local $sUrl = ""
Local $sID = ""
Local $sDate = ""
For $i = 0 To UBound($aTitlesandUrls) - 1
$sTitle = _StringBetween($aTitlesandUrls[$i], '<a title="', '" class')
$sUrl = _StringBetween($aTitlesandUrls[$i], 'href="', '">')
$sDate = _GetDate($aTitlesandUrls[$i])
If IsArray($sTitle) And IsArray($sUrl) Then
$sID = _GetID($sUrl)
;~ _ArrayAdd($aPPH, $sDate & "|" & $sTitle & "|" & $sUrl & "|" & $sID)
$iRet = _BuildPopupsPPH($sID, $sDate, "PPH: " & $sTitle, $sUrl)
If $iRet Then $Show+=1
;~ If $Show > 0 Then ShowLatestJobs()
$hDownload = 0
$hTimer = 0
Why I can't get more than two simultaneously background downloads?
Simultaneously background downloads with InetGet() works! It was just server limitation from which I downloaded files.
Hi Guys, I need help. I have searched the forum before posting and i couldn't find anything. The code below works fine when downloading files from "http" sites, but when trying to download from "https" sites, no files are downloaded. I tried different sites and I experience the same problem everywhere. Is there something I'm missing or doing wrong? Please note that I'm not a programmer and I'm new to this. I'm just using logic wherever i can to get things done. your help will be highly appreciated.
; Download a file in the background.
; Wait for the download to complete.
; Save the downloaded file to the temporary folder.
Local $sFilePath = "d:\"
; Download the file in the background with the selected option of 'force a reload from the remote site.'
Local $hDownload = InetGet("https://en.wikipedia.org/wiki/HTTPS#/media/File:Internet2.jpg", $sFilePath& "Internet2.jpg", $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)
; Wait for the download to complete by monitoring when the 2nd index value of InetGetInfo returns True.
Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)
; Retrieve the number of total bytes received and the filesize.
Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD)
Local $iFileSize = FileGetSize($sFilePath&"Internet2.jpg")
; Close the handle returned by InetGet.
; Display details about the total number of bytes read and the filesize.
MsgBox($MB_SYSTEMMODAL, "", "The total download size: " & $iBytesSize & @CRLF & _
"The total filesize: " & $iFileSize)
; Delete the file.
First script here. Thanks for taking the time.
I want to download a file from my dropbox or other cloud file host and I want autoit to read the file and proceed.
Here are the references I've gone through, it's just I'm not familiar yet with autoit so I'm looking for advice:
How would I start out downloading a text file from dropbox and if in the file there is a 1 then it will proceed with the rest of the script if there is a 0 or if the file cannot be downloaded I want it to just end.
Thank you for taking the time to read this and I apologize in advance if this seems very trivial for some but this is my first script and I'm hoping this is the correct place to ask this question.