質問するログイン新規登録

質問編集履歴

7

出力メッセージなどを修正しました。

2020/09/25 03:21

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
File without changes
body CHANGED
@@ -1,72 +1,36 @@
1
- # 解決したい問題
1
+ # 現状の問題
2
2
 
3
3
  シェルスクリプトでcurlを使いCSVファイルのダウンロードを試みているのですがうまくいきません。
4
4
 
5
- XserverにインストールしたWordPressにWelcartというプラグインを入れ、商品マスターCSVを自動でダウンロードしたいですが、シェルスクリプトで実現できなくて困っています
5
+ 具体的には、XserverにインストールしたWordPressにWelcartというプラグインを入れており、商品マスターCSVファイルシェルスクリプトを使うなりしてコマンドだけでダウンロードしたいです。
6
6
 
7
- # 欲しい答え
7
+ ブラウザ上ならGUIの操作でダウンロードはできるのですが、シェルスクリプトだけでダウンロードできたら便利だろうと思いいろいろ試ですがなかなかできなくて悩んでいます。
8
8
 
9
+ # 期待すること
10
+
9
11
  最終的にはこのシェルスクリプトをXserverのcronを使い定期的に呼び出し、CSVファイルをサーバーに自動でダウンロードできるようにしたいです。
10
12
 
11
13
  ダウンロードするデータの保存先はXserverの任意のディレクトリの予定です。
12
14
 
15
+ ダウンロード後は同じシェルスクリプトから予め組んでおいたRubyを呼び出すなりしてこのCSVファイルを整形して出力し、それを使いたいと思っています。
16
+
13
17
  # 試したこと
14
18
 
15
- ~~現状タミナからSSHサーバーログイて作業しております。~~
19
+ ~~まずはロルでcurlよるダウロードを成功させたくて作業しております。~~
16
20
 
17
- まずはロルでcurlよるダウンードを成功させたくて作業しております。
21
+ 現状タミナからSSHサーバーにログインして作業しております。
18
22
 
19
23
  シェルスクリプトの内容↓
20
24
  ```
21
- % curl -c cookie.txt -v --data "log=(ユーザー名)&pwd=(パスワード)" https://(ドメイン名)/wp-login.php
22
- % echo "=========================================================================="
23
- % curl -b cookie.txt -v --globoff "https://(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on" > answer.csv
25
+ % curl -c cookie.txt --data "log=(ユーザー名)&pwd=(パスワード)" https://(ドメイン名)/wp-login.php
26
+ % curl -b cookie.txt -v -L -O -J --globoff "https://(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on"
24
27
  ```
25
28
 
26
29
  これを実行すると
27
- ・中身のないサイズ1バイトのファイルanswer.csvが生成されます。(これが問題)
30
+ ・中身のないサイズ1バイトのファイルusces_item_list.csvが生成されます。(これが正しくダウンロードできていないので問題です)
28
- 標準出力に以下のような答えが返ってきます。
31
+ そして以下のような答えが表示されます。
29
32
 
30
33
  ```
31
- * About to connect() to (ドメイン名) port 443 (#0)
32
- * Trying 183.181.85.89...
33
- * Connected to (ドメイン名) (183.181.85.89) port 443 (#0)
34
- * Initializing NSS with certpath: sql:/etc/pki/nssdb
35
- * CAfile: /etc/pki/tls/certs/ca-bundle.crt
36
- CApath: none
37
- * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
38
- * Server certificate:
39
- * subject: CN=www.(ドメイン名)
40
- * start date: 8月 27 21:09:31 2020 GMT
41
- * expire date: 11月 25 21:09:31 2020 GMT
42
- * common name: www.(ドメイン名)
43
- * issuer: CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US
44
- > POST /wp-login.php HTTP/1.1
45
- > User-Agent: curl/7.29.0
46
- > Host: (ドメイン名)
47
- > Accept: */*
48
- > Content-Length: 41
49
- > Content-Type: application/x-www-form-urlencoded
50
- >
51
- * upload completely sent off: 41 out of 41 bytes
52
- < HTTP/1.1 302 Found
53
- < Server: nginx
54
- < Date: Thu, 24 Sep 2020 11:47:35 GMT
55
- < Content-Type: text/html; charset=UTF-8
56
- < Transfer-Encoding: chunked
57
- < Connection: keep-alive
58
- < Pragma: no-cache
59
- < Expires: Wed, 11 Jan 1984 05:00:00 GMT
60
- < Cache-Control: no-cache, must-revalidate, max-age=0
61
- < X-Frame-Options: SAMEORIGIN
62
- < X-Redirect-By: WordPress
63
- * Added cookie (省略)="(省略)" for domain (ドメイン名), path /, expire 0
64
- < Set-Cookie: (省略)=(省略); path=/; secure; HttpOnly
65
- (中略)
66
- < Location: https://(ドメイン名)/wp-admin/
67
- <
68
- * Connection #0 to host (ドメイン名) left intact
69
- ==========================================================================
70
34
  % Total % Received % Xferd Average Speed Time Time Time Current
71
35
  Dload Upload Total Spent Left Speed
72
36
  0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* About to connect() to (ドメイン名) port 443 (#0)
@@ -90,7 +54,7 @@
90
54
  >
91
55
  < HTTP/1.1 200 OK
92
56
  < Server: nginx
93
- < Date: Thu, 24 Sep 2020 11:47:36 GMT
57
+ < Date: Fri, 25 Sep 2020 02:54:12 GMT
94
58
  < Content-Type: application/octet-stream
95
59
  < Transfer-Encoding: chunked
96
60
  < Connection: keep-alive
@@ -104,29 +68,27 @@
104
68
  { [data not shown]
105
69
  100 1 0 1 0 0 4 0 --:--:-- --:--:-- --:--:-- 4
106
70
  * Connection #0 to host (ドメイン名) left intact
71
+ curl: Saved to filename 'usces_item_list.csv'
107
72
  ```
108
- このanswer.csvに、商品マスターのCSVデータが入ってくれれば成功です。
73
+ usces_item_list.csvに、商品マスターのCSVデータが入ってくれれば成功です。
109
74
 
110
- しかし、それがうまくいきません。ここ一番困っているところです。
75
+ しかし、それがうまくいきません。サイズ1バイトになっていて中身がないんです。
111
76
 
112
- このうち以下の部分を参考にし、
77
+ ~~このうち以下の部分を参考にし、~~
113
- ```
114
- > GET /wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on
78
+ ~~> GET /wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on~~
115
- ```
116
- 以下のURLを手作業でこしらえ、手元ローカルのブラウザでWordPressにログインした状態でこのURLにアクセスすると、これならダウンロードできるのです。
79
+ ~~以下のURLを手作業でこしらえ、手元ローカルのブラウザでWordPressにログインした状態でこのURLにアクセスすると、これならダウンロードできるのです。~~
117
80
 
118
- Firefoxならダウンロードか開くかのダイアログが出ます。Chromeならダイアログは出ずにダウンロードされます。
81
+ ~~Firefoxならダウンロードか開くかのダイアログが出ます。Chromeならダイアログは出ずにダウンロードされます。~~
119
82
 
120
- ```
121
- https://www.(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on
122
- ```
83
+ ~~https://(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on~~
123
84
 
124
- このCSVをシェルスクリプトだけでダウンロードしたいというだけです。
125
85
 
126
- ローカルであれサーバー上であれ、curlなどでCSVファイダウンロードが自動でできれば問題なので、そのような手段はないもなのしょうか?
86
+ CSVをシェスクリプトでダウンロードしたといだけなのですが…
127
87
 
128
- たか分かる方いらっしゃればご教示ただけると助かす。
88
+ ~~ローカルであれサーバー上であれ、curlどでCSVファイルのダウンロード自動でできれば問題なので、その方法を知たいです。~~
129
89
 
90
+ どなたか分かる方がいらっしゃればご教示いただけると幸いです。
91
+
130
92
  よろしくお願いいたします。
131
93
 
132
94
  # 手元の環境

6

2020/09/25 03:21

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
@@ -1,1 +1,1 @@
1
- WordPressにcurlでログインし、商品マスターの画面からダウンロードできるCSVファイルを自動保存したい
1
+ WordPress管理画面からダウンロードできるCSVファイルをcurlを使って自動保存したい
body CHANGED
File without changes

5

2020/09/24 14:14

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
@@ -1,1 +1,1 @@
1
- Welcartを入れたWordPressにcurlでログインし、商品マスターの画面からダウンロードできるCSVファイルを自動で保存したい
1
+ WordPressにcurlでログインし、商品マスターの画面からダウンロードできるCSVファイルを自動で保存したい
body CHANGED
File without changes

4

2020/09/24 14:09

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
File without changes
body CHANGED
@@ -24,7 +24,7 @@
24
24
  ```
25
25
 
26
26
  これを実行すると
27
- ・中身のないサイズ1バイトのファイルanswer.csvがサーバー上に生成されます。(これが問題)
27
+ ・中身のないサイズ1バイトのファイルanswer.csvが生成されます。(これが問題)
28
28
  ・標準出力に以下のような答えが返ってきます。
29
29
 
30
30
  ```

3

2020/09/24 14:03

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
File without changes
body CHANGED
@@ -12,8 +12,10 @@
12
12
 
13
13
  # 試したこと
14
14
 
15
- 現状ターミナルからSSHでサーバーにログインして作業しております。
15
+ ~~現状ターミナルからSSHでサーバーにログインして作業しております。~~
16
16
 
17
+ まずはローカルでcurlによるダウンロードを成功させたくて作業しております。
18
+
17
19
  シェルスクリプトの内容↓
18
20
  ```
19
21
  % curl -c cookie.txt -v --data "log=(ユーザー名)&pwd=(パスワード)" https://(ドメイン名)/wp-login.php
@@ -111,7 +113,7 @@
111
113
  ```
112
114
  > GET /wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on
113
115
  ```
114
- 以下のURLを手作業でこしらえ、同じコードを手元ローカルのブラウザでログインした状態でこのURLにアクセスすると、これならダウンロードできるのです。
116
+ 以下のURLを手作業でこしらえ、手元ローカルのブラウザでWordPressにログインした状態でこのURLにアクセスすると、これならダウンロードできるのです。
115
117
 
116
118
  Firefoxならダウンロードか開くかのダイアログが出ます。Chromeならダイアログは出ずにダウンロードされます。
117
119
 
@@ -119,8 +121,10 @@
119
121
  https://www.(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on
120
122
  ```
121
123
 
122
- このusces_item_list.csvをシェルスクリプトだけでダウンロードしたいというだけなのですが、ローカルであれサーバー上であれ、curlなどでCSVファイルのダウンロードが自動でできれば問題ないので、そのような手段はないものなのでしょうか?
124
+ このCSVをシェルスクリプトだけでダウンロードしたいというだけです
123
125
 
126
+ ローカルであれサーバー上であれ、curlなどでCSVファイルのダウンロードが自動でできれば問題ないので、そのような手段はないものなのでしょうか?
127
+
124
128
  どなたか分かる方がいらっしゃればご教示いただけると助かります。
125
129
 
126
130
  よろしくお願いいたします。

2

2020/09/24 14:01

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,7 @@
22
22
  ```
23
23
 
24
24
  これを実行すると
25
- ・中身のないサイズ1バイトのファイルanswer.csvがサーバー上に生成されます。
25
+ ・中身のないサイズ1バイトのファイルanswer.csvがサーバー上に生成されます。(これが問題)
26
26
  ・標準出力に以下のような答えが返ってきます。
27
27
 
28
28
  ```

1

2020/09/24 13:56

投稿

akira_kano1101
akira_kano1101

スコア25

title CHANGED
File without changes
body CHANGED
@@ -116,7 +116,7 @@
116
116
  Firefoxならダウンロードか開くかのダイアログが出ます。Chromeならダイアログは出ずにダウンロードされます。
117
117
 
118
118
  ```
119
- https://www.(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on
119
+ https://www.(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=dlitemlist&noheader=true&search[column]=none&search[word][none]=undefined&searchSwitchStatus=undefined&ftype=csv&mode=all&chk_header=on
120
120
  ```
121
121
 
122
122
  このusces_item_list.csvをシェルスクリプトだけでダウンロードしたいというだけなのですが、ローカルであれサーバー上であれ、curlなどでCSVファイルのダウンロードが自動でできれば問題ないので、そのような手段はないものなのでしょうか?