Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How do you make a new search engine in Google Chrome if the search term has to be a POST variable?

I tried translating the POST data into a GET querystring with the %s placeholder but this didn't work.

share|improve this question

migrated from stackoverflow.com May 23 '11 at 21:07

This question came from our site for professional and enthusiast programmers.

    
Why don't you use google search api instead ? –  ppumkin Jan 23 '12 at 22:00
add comment

3 Answers

First you need to host page with this PHP code:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <form name="f" action=""<?php echo htmlspecialchars($_GET['action']); ?>" method="POST">
        <input type="hidden" name="<?php echo htmlspecialchars($_GET['inputname']); ?>" value=""<?php echo htmlspecialchars($_GET['inputvalue']); ?>">
    </form>
    <script>f.submit();</script>
</body>
</html>

Then put in search url:

http://yourwebsite.com/filename.php?action=http://sitetosearch.com/search.php&inputname=query&inputvalue=%s

(replace urls, filenames and input name to your data)

For example (search on http://fansubs.ru/search.php via host http://webercom.ru/):

http://webercom.ru/post.php?action=http://fansubs.ru/search.php&inputname=query&inputvalue=%
share|improve this answer
add comment

I don't see any other option than creating another webpage, which would accept the search query as GET and then immediately resend it as POST.

share|improve this answer
add comment

I managed to get what I want with this (pretty nasty indeed) workaround: a javascript url that creates and immediatly submits the form. This means, when you define your search engine, insted of an url like this:

http://www.example.com/search?term=%s

you would use this url/code:

javascript:document.write('<form name="f" action="http://www.example.com/search" method="POST"><input type="hidden" name="term" value="%s"></form><script>f.submit();</script>');

Since it'll most likely be a pretty long string it's better to prepare it in a text editor and then copy-paste it in the url field.

This is the search url for an Italian-English dictionary: javascript:document.write('<form name="f" action="http://dizionari.repubblica.it/cgi-bin/inglese/find" method="POST"><input type="hidden" name="lemma" value="%s"><input type="hidden" name="sez" value="ita"></form><script>f.submit();</script>');

P.S. Unfortunately, this method doesn't work when performing search from empty "New Tab" page. This can be fixed by installing "Ultimate New tab" extension.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.