0

私は使っている:

<exec executable="cmd">
<arg line="${argLine}" />
</exec>

いつargLine

<property name="argLine" value="http://127.0.0.1:/product/findSameStyleSku.json?skuId=305&amp;style=120662"/>

2つのパラメーターで、&amp;エスケープ&記号を使用します

でも開くだけhttp://127.0.0.1/product/findSameStyleSku.json?skuId=305

styleパラメータが失われました

要するに、私は実行したいです

<target name="111test"> 
    <exec executable="cmd" output="e:/test.txt">
        <arg line="/c start '' 'http://127.0.0.1/product/findSameStyleSku.json?skuId=305&amp;%3bstyle=120662'" />
    </exec>  
</target>

2012-05-23 更新

はい、Windows システム

コードを次のように変更します

<target name="111test">
    <exec executable="cmd" output="e:/test.txt">
        <arg value="/c" />
        <arg value="start" />
        <arg value="" />
        <arg value="http://127.0.0.1/product/findSameStyleSku.json?skuId=305&amp;%3bstyle=120662" />
    </exec>
</target>

蟻を走らせる

開くだけ

http://127.0.0.1/product/findSameStyleSku.json?skuId=305

&amp;%3b「 」を「 」&amp;に変更します

も開くだけ

http://127.0.0.1/product/findSameStyleSku.json?skuId=305

しかし、cmdでは、私は使用します

start "" "http://127.0.0.1/product/findSameStyleSku.json?skuId=305&style=120662"

開けられるhttp://127.0.0.1/product/findSameStyleSku.json?skuId=305&style=120662

4

1 に答える 1

1

開こうとしているものを正確に理解していません。文字通り で URL を開こ***?skuId=305うとしているのですか、それとも、セミコロンを含めずに、あきらめた URL を開こうとしていると言っているのですか?

URL の最後の部分が省略されていると言っている場合は、送信する実際の URL にセミコロンを含めることはできないことを理解する必要があります。それらは予約されており、特別にエンコードする必要があります。

セミコロンがそこにあると想定されていることを確認してください。GET要求を実行すると、基本 URL が表示され、その URL の後に疑問符が表示されます。その後、URL に渡す一連のパラメーターがあり、各パラメーターはアンパサンドで区切られています。あなたの場合、URLにリクエストを送信したいようです:

  • http://127.0.0.1:/product/findSameStyleSku.json

次の 2 つのパラメーターを使用します。

  • skuId=305
  • style=120662

したがって、セミコロンは偽物のようです。;styleそれ以外の場合は、パラメータではなくを渡していますstyle。そして、それは正しくないようです。

セミコロンが実際に存在すると判断した場合は、URL のセミコロンを次のように置き換えてみてください%3b

<property name="argLine" value="http://127.0.0.1:/product/findSameStyleSku.json?skuId=305&amp;%3bstyle=120662"/>

応答

申し訳ありませんが、正しく動作しません。質問を更新しました – 感じ

残念ながら、これは Windows マシン上にあり、マシン上でローカルに実行されているものであるため、自分でテストを実行することはできません。

ただし、投稿の最初の部分によると、次のコマンドを実行しようとしています。

C> cmd http://127.0.0.1:/product/findSameStyleSku.json?skuId=305&amp;style=120662

投稿の後半で、次のように実行したいと言っています。

C> cmd /c start '' 'http://127.0.0.1/product/findSameStyleSku.json?skuId=305&amp;%3bstyle=120662'

最初のものは確かにコマンド ラインからは機能しません。2番目のものはありますか?

これを使用して、現在のコンピューターでいくつかのテストを行いました。

<property name="argLine"
    value="http://etzahaim.org/index.php?option=com_content&amp;task=blogcategory&amp;id=15&amp;Itemid=34"/>
<exec executable="curl">
    <arg value="${argLine}"/>
    <arg value="--include"/>
    <arg value="--output"/>
    <arg value="curl.out"/>
</exec>

curlURLを取得するコマンドです。この URL も GET メソッドを使用しているため、URL に疑問符といくつかのアスタリスクも含まれています。これは私にとってはうまくいきます。

<arg line='start' '' 'http://...>から usingに切り替えてみて<arg line>、それが役立つかどうかを確認してください。

<target name="111test"> 
    <exec executable="cmd" output="e:/test.txt">
        <arg value="/c"/>
        <arg value="start"/>
        <arg value=""/>
        <arg value="${argline}" />
</exec>

于 2012-05-17T13:58:24.190 に答える