HTTP GET not working?

Hello brian…

im suspecting that the newly added http get function is not working.The database isnt updating…

im getting this error in the journal:Failed to create download directory 152: No server specified in URL

OK, let me just clarify a little bit.

So we have a script that works absolutely fine when executed from a browser - i.e. the URL exists and the script does what it should.

However, when that same url is entered in the HTTP GET box (with and without http://, both tried), it doesnt do anything and just gives that error.

This was confirmed by multiple people and no one was able to get it working.

I get a
“Above error or program log occured at :18:08 06/06/15
Failed to create download directory 152: No server specified in URL” in the program error log.
I’ve tried it with just www and also with http in front.

Tom

is this the one in the custom web page?
if someone could email me the URL to test and I will test here

Here’s mine…

http://www.meteolacstjean.com/meteo2/upload/wd.php

when i put the url in the browser it updates…but not automatically via WD

the URL should have the data to send in it
i.e
http://www.meteolacstjean.com/meteo2/upload/wd.php?ID=xxx&pass=xxx&windspeed=5.0&action=update

Brian,
I think the program wd.php handles all that.

???
then how is data sent?

in any case I do see a bug in my code that I am fixing

The program reads the clientraw.txt file every minute and puts it in a cache file. After 5 minutes it takes the averages, also high and lo temps and sends the data to the data base, that way db is updated every 5 minutes but with 1 minute resolution, saving space in the db.
That’s a rough desription.
Tom

new .zip update ready to fix the bug I found (error was it was not setting the custom URL correctly)

re description:
then I dont understand why to use this custom httpget ?
what you have being sent will not do anything?

No error but doesn’t work.
It should execute the file wd.php once a minute that is on the webserver.
wd.php does all the work for the database through clientraw.txt
WD doesn’t have anything directly to do for the db.
I think Jachym will do a better job than me in explaining this.

Tom

what I can do is add in the response code returned (would normally be an OK)
if you put that same URL into a browser, does that invoke the script when you hit the return/enter keyboard button?

why does the wd.php script need to be called this way by WD every minute?
why cant it just do its routine based on a minute timer or similar?

what I can do is add in the response code returned (would normally be an OK) if you put that same URL into a browser, does that invoke the script when you hit the return/enter keyboard button?

Yes.

why cant it just do its routine based on a minute timer or similar?
I guess it could.

Hi,

first of all thanks for reply Brian.

I see what you mean. Yes, you are right, it is not really an HTTP GET request, because the page doesnt take anything from the URL, but my idea was as follows:

Currently, the goal is to have this script executed every minute. The script saves data to a cache text file on the server and once the user defined interval for MySQL table update is exceeded, the script instead of just adding new values to the temporary cache, calculates the averages/maximum of various values, saves them to MySQL and then clears the cache. And the process repeats.

Right now, the script takes these values every time it is executed from the clientraw.txt, but I guess it could just as well take it directly from the URL. So why did I do this way? Well, it was more to do with the fact that some people use CRON job to run this script and I used similar script for other softwares as well so doing it this way was the easiest and if done by CRON also the only option - take the values from clientraw.

Using CRON job is obviously the easiest and probably most reliable and efficient way of executing PHP at regular interval and obviously in such case the values must be taken from clientraw (because the script is run by the server CRON, not WD). But the problem with CRON is that lot of people are unfamiliar with CRONs, have no clue what it is, how to set it up or (like me) dont have a possibility to run a cron job every minute. I for example can only do it once every hour and if I wanted it more often, I would have to upgrade my hosting plan and it would cost me much more for webhosting. This is why I would like to have the option using WD as well.

Another thing is that although right now the URL was just URL without any parameters, in the final version I planned to include one value, which would be a passoword to prevent other people running your script on the server and updating your database.

If WD cannot just execute it like I planned, it is of course not a problem for me to rewrite the script and make two versions - one for those that use CRON, in which data would be fetched from clientraw, and one for those that use WD to do this, where the parameters (temp, humidity etc.) would be passed in the URL.

the purpose of the custom HTTP get is to send data to a php json type script via a HTTP get command, where the data to be proccessed by the php code is in that GET statement
i,e the data is at the end, as in
wd.php?ID=xxx&pass=xxx&windspeed=5.0&action=update
is data of windspeed=5.0
(the php json query scripts process that variable and update its data base (e.g mysql))
thats how wunderground works
and thats the purpose of the custom http get

@Jachym
maybe to activate the wd.php like the way you want it , a HTTP POST to that URL should be invoked by WD instead?

Hi Brian,

I understand what you mean, I know how the HTTP GET is supposed to work, I just assumed that even if I dont pass any parameters, it would still execute that script. It is of course not a problem, as I mentioned above, to get the data this way rather than loading it from clientraw, plus the password for upload will have to be passed by HTTP GET/POST anyway. The reason data are taken from clientraw is as I said, because I wanted to use the same script as for CRON jobs, but I could make a new one for this if necessary.

So are you basically saying that if the parameters are passed in the URL, it will execute the script, but if not, it will not do anything?

I am not sure why in its current way its not working its not executing the script
personally I would work on getting the data transfered via the HTTP get, as I have done example above
because that way a user can get data into your script without even needing a clientraw.txt file ftp to their web site…i.e no ftp needed at all
(which is how wunderground works)
and because its all based on custom tags, you can get the data you want loaded into your script
also we can add option to send the data faster than every minute

Where is this function now?

control panel, webfiles/web page setup, custom web page setup
make sure to be using the latest .zip update

hello Brian…just installed the latest and still get the error 152 in the event log…