Lindens Monty Linden Posted February 13 Lindens Share Posted February 13 One discovery: search absolutely requires the use of cookies. The llHttpRequest APIs are likely not helping in this area so this may very well require some enhancement. 1 Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 14 Share Posted February 14 (edited) Monty Linden I think the search.secondlife.com is either a NAME Index for a URL in a redirect or a similar DNS service that does the same this is why it returns no files as this is a phantom entry.. Can you provide the proper search URL please and not a Named IDX or similar service? As I think this is most likely what i transpiring. Such as in .htaccess RewriteEngine On RewriteCond %{HTTP_HOST} !^www.secondlife.com/search$ [NC] RewriteRule ^(.*)$ search.secondlife.com//$1 [L,R=301] RewriteCond %{HTTP_HOST} !^search.secondlife.com/search$ [NC] RewriteRule ^(.*)$ www.secondlife.com/new search item/$1 [L,R=301] Where www.secondlife.com/new search item is your different URL can you provide it? Thanks Virtuakitten Thank you for your kind reply. We are currently paying 200L every single event a month this is expensive and thought we could get at these events inside second life. Which there seems no reason why not! Have already tried limiting response this below which returns same 499. using it without http o https says its not available. This was providing a response of on on saying it returned noting integer bodylength= 2048; url = "http://search.secondlife.com/?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma "; http_request_id = llHTTPRequest(url, [HTTP_METHOD,"GET",HTTP_USER_AGENT, "LSL_Script(Mozilla Compatible)", HTTP_MIMETYPE, "application/x-www-form-urlencoded", HTTP_VERIFY_CERT,FALSE, HTTP_BODY_MAXLENGTH,bodylength], ""); The full source code is here : Edited February 14 by VirtualKitten Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted February 14 Lindens Share Posted February 14 On 2/14/2024 at 7:49 AM, VirtualKitten said: I think the search.secondlife.com is either a NAME Index for a URL or a similar DNS service that does the same this is why it returns no files . Can you provide the proper search URL please and not a Named IDX or similar service? As I think this is most likely what i transpiring. DNS chains are silently followed and wouldn't cause this problem (ignoring TLS cert validation for the moment). If you run your search query through a 'curl' command such as: curl --http1.1 -v -L -o /dev/null 'https://search.secondlife.com?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma' you will see the sequence of visits that are made as the request gathers state information into cookies. There are a number of possible reasons for llHttpRequest failing on this: cookie management during the request redirect count (3xx codes) other limits (header length, response body length) 1 1 Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted February 15 Lindens Share Posted February 15 Well, I can answer what the root error cause is (though several are involved in this case): URLRequest Error: 47, Number of redirects hit maximum amount, http://search.secondlife.com/?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma Too many redirects and that information isn't passed back in any useful way. 1 2 Link to comment Share on other sites More sharing options...
Marvin Benelli Posted February 15 Share Posted February 15 Good find! Can this maximum be relaxed somewhat to allow event searches or do you recommend the use of another url in lsl? Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 15 Share Posted February 15 (edited) I tried curl but could not find a way of implementing it . I still think these are fake URL and redirected like said it why it returns 499 as there are no files there to run . I tried downloading whole site with a program it said nothing was in the mirror at any of the locations. Your first guess about 5 steps must be right. i tried visual trace root (https://gsuite.tools/traceroute) with search.secondlife.com and it went here traceroute to a1895.b.akamai.net (23.220.206.197), 30 hops max which as not much help as i think its just a server address A it says Invalid URL The requested URL "[no URL]", is invalid. Reference #9.88465b68.1708001254.ca5dc81 Also arns09s05-if-f142.1e100.net.was no help either. Edited February 15 by VirtualKitten Link to comment Share on other sites More sharing options...
Love Zhaoying Posted February 15 Share Posted February 15 Maybe you are misunderstanding a few of the points @Monty Linden appears to be making: There is not necessarily a workaround for your issue. 1 1 Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 15 Share Posted February 15 (edited) @Love Zhaoying There must be a search file location somewhere otherwise this could not do a search. i asked @Monty Linden where these search files was located. As there is also a referral from www.secondlife.com/search to search.secondlife.com. I also found https://search.secondlife.com/web/search/? on a post here on Google but this doesn't return anything but 499 with also is there two types of search a different directory for SL on this server. int bodylength = 2048; url="https://search.secondlife.com/web/search/?search_type=standard&events_category=0&date=02%2F13%2F2024&dateformat=mm%2Fdd%2Fyy&starttime=0000&query_term=Galadriel%27s&sort=start_time_asc"; http_request_id = llHTTPRequest(url, [HTTP_METHOD,"GET",HTTP_USER_AGENT, "LSL_Script(Mozilla Compatible)", HTTP_MIMETYPE, "application/x-www-form-urlencoded", HTTP_VERIFY_CERT,FALSE, HTTP_BODY_MAXLENGTH,bodylength], ""); Edited February 15 by VirtualKitten Link to comment Share on other sites More sharing options...
Love Zhaoying Posted February 15 Share Posted February 15 31 minutes ago, VirtualKitten said: @Love Zhaoying There must be a search file location somewhere otherwise this could not do a search. i asked @Monty Linden where these search files was located. As there is also a referral from www.secondlife.com/search to search.secondlife.com. I also found https://search.secondlife.com/web/search/? on a post here on Google but this doesn't return anything but 499 with also is there two types of search a different directory for SL on this server. int bodylength = 2048; url="https://search.secondlife.com/web/search/?search_type=standard&events_category=0&date=02%2F13%2F2024&dateformat=mm%2Fdd%2Fyy&starttime=0000&query_term=Galadriel%27s&sort=start_time_asc"; http_request_id = llHTTPRequest(url, [HTTP_METHOD,"GET",HTTP_USER_AGENT, "LSL_Script(Mozilla Compatible)", HTTP_MIMETYPE, "application/x-www-form-urlencoded", HTTP_VERIFY_CERT,FALSE, HTTP_BODY_MAXLENGTH,bodylength], ""); Again, sorry if I was not clear: if there was an (easy or obvious) solution, Monty would have provided it! Perhaps another user will see your thread and chime in with a helpful response that includes how they got to "search" from within LSL code using llHTTPRequest(). Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 15 Share Posted February 15 45 minutes ago, Love Zhaoying said: Again, sorry if I was not clear: if there was an (easy or obvious) solution, Monty would have provided it! Perhaps another user will see your thread and chime in with a helpful response that includes how they got to "search" from within LSL code using llHTTPRequest(). i also found this works on web https://search.secondlife.com/web/search/search.php Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted February 15 Lindens Share Posted February 15 1 hour ago, Love Zhaoying said: Again, sorry if I was not clear: if there was an (easy or obvious) solution, Monty would have provided it! Perhaps another user will see your thread and chime in with a helpful response that includes how they got to "search" from within LSL code using llHTTPRequest(). Well, it was late and so I didn't (and still don't) have all the answers. There will probably be some issues filed on this (and I'll mention them here). And I'm going to run down some other answers. The Search API page is notable for having last been edited in 2011. (Almost typed 1911.) The curl command (now edited) isn't a solution for you, @VirtualKitten. But it is a tool that allows you to see what is occurring. The exciting thing is that it also exposes some bugs in curl (which we use internally). Curl 7.64.0 and 7.66.0 handle cookies slightly differently and we may be triggering something. @VirtualKitten, when did this stop working for you? 1 1 Link to comment Share on other sites More sharing options...
Marvin Benelli Posted February 15 Share Posted February 15 I tried the curl command and it shows me two things: - the redirect maximum is a curl property that can be set on the command line using "--max-redirs" - the redirection is an endless loop: everything below between the ===== markings is repeated forever until max_redirs gets hit Command: % curl --http1.1 -v -L -o /dev/null ‘https://search.secondlife.com?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma' Output: > GET /?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma HTTP/1.1 > GET /_auth/start?anonOK=true HTTP/1.1 > GET /openid/checklogin?language=en&return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcheck%3FanonOK%3Dtrue HTTP/1.1 > GET /openid/openidserver?openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=checkid_immediate&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.realm=https%3A%2F%2Fsearch.secondlife.com%2F&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A46Zlitl4E&openid.sreg.required=fullname HTTP/1.1 > GET /_auth/complete?anonOK=true&janrain_nonce=2024-02-15T21%3A29%3A46Zlitl4E&openid.assoc_handle=%7BHMAC-SHA1%7D%7B65ce824a%7D%7BWoJ8%2FQ%3D%3D%7D&openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=id_res&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.op_endpoint=https%3A%2F%2Fid.secondlife.com%2Fopenid%2Fopenidserver&openid.response_nonce=2024-02-15T21%3A29%3A46ZeJKBUV&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A46Zlitl4E&openid.sig=cGlc9wsouE5MK1EFctA5XCSbCtI%3D&openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cns.sreg%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Csreg.fullname&openid.sreg.fullname=00000000-0000-0000-0000-000000000000%2F0%2F1 HTTP/1.1 ===== > GET / HTTP/1.1 > GET /_auth/start?anonOK=true HTTP/1.1 > GET /openid/checklogin?language=en&return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcheck%3FanonOK%3Dtrue HTTP/1.1 > GET /_auth/check?anonOK=true&openid_identifier=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous HTTP/1.1 > GET /openid/openidserver?openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=checkid_immediate&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.realm=https%3A%2F%2Fsearch.secondlife.com%2F&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A47ZED7Xxy&openid.sreg.required=fullname HTTP/1.1 > GET /_auth/complete?anonOK=true&janrain_nonce=2024-02-15T21%3A29%3A48Z0vfcju&openid.assoc_handle=%7BHMAC-SHA1%7D%7B65ce824c%7D%7BNjuMbQ%3D%3D%7D&openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=id_res&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.op_endpoint=https%3A%2F%2Fid.secondlife.com%2Fopenid%2Fopenidserver&openid.response_nonce=2024-02-15T21%3A29%3A48ZmX32wp&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A48Z0vfcju&openid.sig=YyODVK0M%2FfYbtUmw%2BgU81t7RKxA%3D&openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cns.sreg%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Csreg.fullname&openid.sreg.fullname=00000000-0000-0000-0000-000000000000%2F0%2F1 HTTP/1.1 ===== Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted February 16 Lindens Share Posted February 16 3 hours ago, Marvin Benelli said: - the redirection is an endless loop: everything below between the ===== markings is repeated forever until max_redirs gets hit Yes, without cookies, it just goes into a redirect loop. Link to comment Share on other sites More sharing options...
Marvin Benelli Posted February 16 Share Posted February 16 The wiki page on the search API is old indeed and it mentions that it’s not a LL supported one, so the Ops real question is: is there a LL supported API that allows to search events? If not, who is able and willing to provide support on this unofficial API? Link to comment Share on other sites More sharing options...
Marvin Benelli Posted February 16 Share Posted February 16 o o checkout the wiki page on search api at: Work-around for LSL It should be noted that LSL scripts using llHTTPRequest method can not query against the Google appliance directly. Linden Lab has blocked all access due to security reasons of requests from machines on the local network. To work around this, many people use proxy services. One popular service is offered by Google. It is originally intended to make content available for mobile phones. For an example, see the Proxy Search Form. Example of proxy search URL http://www.google.com/gwt/n?u=http%3A%2F%2Fsearch.secondlife.com%2Fclient_search.php%3Fq%3Dhippo&_gwt_noimg=1 Seems like the "https://search.secondlife.com" can't be called directly from LSL but the workaround is an indirect call via a proxy. GWT is end of life by now but I tried another web proxy which delivered "https://p2.hosteagle.club/?__cpo=aHR0cHM6Ly9zZWFyY2guc2Vjb25kbGlmZS5jb20". Alas, calling that one with llHTTPRequest resulted in a 400 error, so this workaround is no longer valid. Is there maybe another workaround for the block of requests from machines on the local network? Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 16 Share Posted February 16 @Monty Linden Its pretty strange, I used to be able to load an avatar on the face of prim that is supported as its used on club boards so not all URL in Secondlife seem blocked two days ago this was proving a response but now 499. I am not worried by Second Life blocking this on Google which it doesn't only in maturity reasons. I have access onhttps://search.secondlife.com/web/search/search.php/ But it does seem this does not function at all from Secondlife returning 499. This being the case as you suggested why does it have cookies something used by other browsers. This suggests there is another URL, as for what reason would it need a cookie in SL. Quiet frankly this seems a bum reason. I understood their was some advances had been made on HTTPRead(. It seems no one should be paying for their events on Secondlife then I will reconsider doing this ! Perhaps Second life should rethink this? Link to comment Share on other sites More sharing options...
Love Zhaoying Posted February 16 Share Posted February 16 20 hours ago, Monty Linden said: The Search API page is notable for having last been edited in 2011. (Almost typed 1911.) Does the search API even use Google (or a Google "appliance") anymore? Link to comment Share on other sites More sharing options...
Ardy Lay Posted February 16 Share Posted February 16 For a "living document", that wiki has a lot of necrotic tissue. Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted February 16 Lindens Share Posted February 16 5 hours ago, Ardy Lay said: For a "living document", that wiki has a lot of necrotic tissue. Bwahaha, we used a lot of phlogiston back in those days. Those appliances are long gone. Along with the Isilons and more. I'm surprised the URL patterns still worked or that anything on that page still applies. I'm trying to bracket when the externally-visible behavior changed. I'm not web but I'm not seeing a cause... 1 Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 18 Share Posted February 18 Um when i started this project it worked two weeks ago giving random http returns that was put on the prim it was in . It then started returning 499 for some reason when it was returning 500, and 404 that week so its been changed within two weeks to this ew behavior as i started this thread then. LSL Script to ask why. I have go no further with it since we last spoke sorry. I had hoped one of you had. Currently I can see no reason why to pay Second life for my adverts As if i do i cannot even use them sighs Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted February 19 Lindens Share Posted February 19 For transparency, I made some Canny issues for this: LSL llHTTPRequest Supported Search API These are bug/feature requests and so the response time on them is going to be slow. Fast responses come from support tickets and elsewhere. But people should be able to comment and upvote on the issues. 1 3 Link to comment Share on other sites More sharing options...
VirtualKitten Posted February 23 Share Posted February 23 Thanks @Monty Linden Please let me know what happens you are brilliant 1 Link to comment Share on other sites More sharing options...
VirtualKitten Posted March 1 Share Posted March 1 @Monty Linden Still no response ? Link to comment Share on other sites More sharing options...
Lindens Monty Linden Posted March 1 Lindens Share Posted March 1 The 'feedback' issues (Canny) represent new development including a new external service. That doesn't happen in days (when I said 'slow,' I really meant slow). That's why you need to follow through with a support ticket and maybe a bug report in feedback. These have faster return times (but not always with the response residents want). 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now