завить на AppleScript - PullRequest
       12

завить на AppleScript

0 голосов
/ 23 августа 2011

Это мой скрипт, но у меня проблема с получением ответа от URL.

if newChromeValue contains "http://" then
        set URLChromerequest to "curl --url http://0.0.0.0:54321/cat?body=" & myBodyEnc & "&url=" & ¬
            newChromeValue & ¬
            "&title=" & ¬
            pgTitlEnc & ¬
            "&keywords=" & ¬
            mykeywordEnc & ¬
            "&description=" & ¬
            myDescriptionEnc & ¬
            "&type=body&reqtype=main/"

    else
        set URLChromerequest to "curl --url http://0.0.0.0:54321/cat?body=" & myBodyEnc & "&url=http://" & ¬
            newChromeValue & ¬
            "&title=" & ¬
            pgTitlEnc & ¬
            "&keywords=" & ¬
            mykeywordEnc & ¬
            "&description=" & ¬
            myDescriptionEnc & ¬
            "&type=body&reqtype=main/"

    end if



    set URLChromeResponse to do shell script URLChromerequest
    return URLChromeResponse

Когда я запускаю этот скрипт, он показывает, что только первый параметр отправляется на сервер, который является 'body'. Другие, кажется, отсутствуют ...

однако, если я возвращаю 'URLChromerequest', я вижу, что URL-адрес имеет соответствующую форму, и если я вставляю его в веб-браузер, он отлично работает ..

В чем может быть проблема?

1 Ответ

1 голос
/ 23 августа 2011

Это может помочь процитировать URL, используя quoted form of:

if newChromeValue does not start with "http://" then
    set newChromeValue to "http://" & newChromeValue
end

set URLChromerequest to "curl --url " & quoted form of ¬
    ("http://0.0.0.0:54321/cat?body=" & myBodyEnc & ¬
    "&url=" & newChromeValue & ¬
    "&title=" & pgTitlEnc & ¬
    "&keywords=" & mykeywordEnc & ¬
    "&description=" & myDescriptionEnc & ¬
    "&type=body" & ¬
    "&reqtype=main/")

set URLChromeResponse to do shell script URLChromerequest

Не знаю наверняка, но может показаться, что URL разделяется оболочкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...