Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
iPhone向けpixiv API by moyashi

■ログイン

POSTメソッドで以下を飛ばす。

POST /iphone/login.php HTTP/1.1
Host: iphone.pxv.jp
User-Agent: pixiv/1.0 CFNetwork/445.6 Darwin/10.0.0d3
Referer: http://iphone.pxv.jp/
Accept: */*
Accept-Language: ja-jp
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Cookie: current-language=ja; locale-country-code=JP; locale-identifier=ja_JP; locale-language-code=ja; software-version=1.0
Content-Length: 50
Connection: keep-alive

mode=login&pixiv_id=ユーザーID&pass=パスワード&skip=0

ログインできると302で転送されると同時にセッションIDが付与される。このセッションIDを使ってAPIアクセスするが、セッションIDCookieに仕込む必要はなくて、GETのパラメータに付ける。
ログインで取得できるセッションIDは、以下では「●」と表記。

HTTP/1.1 302 Found
Date: Wed, 09 Dec 2009 10:39:54 GMT
Server: Apache
Set-Cookie: PHPSESSID=deleted; expires=Tue, 09-Dec-2008 10:39:53 GMT
Set-Cookie: PHPSESSID=●; path=/; domain=.pixiv.net
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Set-Cookie: PHPSESSID=●; path=/; domain=.pixiv.net
Location: http://iphone.pxv.jp/iphone/index.php?PHPSESSID=Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8

で、 転送先のindex.phpを見に行くが404で追い返されるというのが繰り返される。
このプロセスは必要ではなさそう。

GET /iphone/index.php?PHPSESSID=HTTP/1.1
Host: iphone.pxv.jp
User-Agent: pixiv/1.0 CFNetwork/445.6 Darwin/10.0.0d3
Referer: http://iphone.pxv.jp/
Accept: */*
Accept-Language: ja-jp
Accept-Encoding: gzip, deflate
Cookie: current-language=ja; locale-country-code=JP; locale-identifier=ja_JP; locale-language-code=ja; software-version=1.0
Connection: keep-alive^

ログイン処理は随時繰り返されている。

ログインの必要のないAPIは、PHPSESSID0OKみたい。

画像の一覧を取得するAPIは、対象となる画像の総数を返すAPI(c_mode
=count)と、その実際のリストを返すAPIとが対になっている。画像の総数を返すAPIUITableViewのnumberOfRowsInSectionを設定しているのだと思われる。

UserAgentは現時点ではチェックしていないよう。母艦からでも小細工なしに利用可能。

リクエストを飛ばす先はすべて「iphone.pxv.jp」。

■サービスのステータス

/iphone/maintenance.php?software-version=1.0

■新着

みんなの新着
-------------------------------

/iphone/new_illust.php?dummy=0&PHPSESSID=&c_mode
=count

/iphone/new_illust.php?dummy=0&PHPSESSID=&p=1

マイピクの新着
-------------------------------

/iphone/mypixiv_new_illust.php?dummy=0&PHPSESSID=&c_mode=count

/iphone/mypixiv_new_illust.php?dummy=0&PHPSESSID=&p=1

お気に入りユーザーの新着
-------------------------------

/iphone/bookmark_user_new_illust.php?dummy=0&PHPSESSID=&c_mode=count

/iphone/bookmark_user_new_illust.php?dummy=0&PHPSESSID=&p=1

企画目録(word=企画目録)
-------------------------------

/iphone/search.php?s_mode=s_tag&word=%E4%BC%81%E7%94%BB%E7%9B%AE%E9%8C%B2&PHPSESSID=&c_mode=count

/iphone/search.php?s_mode=s_tag&word=%E4%BC%81%E7%94%BB%E7%9B%AE%E9%8C%B2&PHPSESSID=&p=1

■ランキング

デイリーランキング
-------------------------------

/iphone/ranking.php?mode=day&PHPSESSID=&c_mode=count

/iphone/ranking.php?mode=day&PHPSESSID=&p=1

ウィークリーランキング
-------------------------------

/iphone/ranking.php?mode=week&PHPSESSID=&c_mode=count

/iphone/ranking.php?mode=week&PHPSESSID=&p=1

マンスリーランキング
-------------------------------

/iphone/ranking.php?mode=month&PHPSESSID=&c_mode=count

/iphone/ranking.php?mode=month&PHPSESSID=&p=1

■検索

タグ検索
-------------------------------

/iphone/search.php?s_mode=s_tag&word=キーワード&PHPSESSID=&c_mode=count

/iphone/search.php?s_mode=s_tag&word=キーワード&PHPSESSID=&p=1

タイトル・キャプション検索
-------------------------------

/iphone/search.php?s_mode=s_tc&word=キーワード&PHPSESSID=&c_mode=count

/iphone/search.php?s_mode=s_tc&word=キーワード&PHPSESSID=&p=1

ユーザー検索
-------------------------------

/iphone/search_user.php?nick=キーワード&PHPSESSID=&c_mode=count

/iphone/search_user.php?nick=キーワード&PHPSESSID=&p=1

■マイページ

イラスト
-------------------------------

/iphone/member_illust.php?id=&PHPSESSID=&c_mod
e=count

/iphone/member_illust.php?id=&PHPSESSID=&p=1

マイピク
-------------------------------

/iphone/mypixiv_all.php?id=&PHPSESSID=&c_mode=count

/iphone/mypixiv_all.php?id=&PHPSESSID=&p=1

公開お気に入り
-------------------------------

/iphone/bookmark_user_all.php?rest=show&id=&PHPSESSID=&c_mode=count

/iphone/bookmark_user_all.php?rest=show&id=&PHPSESSID=&p=1

非公開お気に入り
-------------------------------

/iphone/bookmark_user_all.php?rest=hide&id=&PHPSESSID=&c_mode=count

/iphone/bookmark_user_all.php?rest=hide&id=&PHPSESSID=&p=1

公開ブックマーク
-------------------------------

/iphone/bookmark.php?id=&PHPSESSID=&c_mode=count

/iphone/bookmark.php?id=&PHPSESSID=&p=1

非公開ブックマーク
-------------------------------

/iphone/bookmark.php?id=&rest=hide&PHPSESSID=&c_mode=count

/iphone/bookmark.php?id=&rest=hide&PHPSESSID=&p=1

プロフィール
-------------------------------

/iphone/profile.php?dummy=0?dummy=0&PHPSESSID=&PHPSESSID=