たすけて
専ブラ作ろうとしてるんだけどヘッダーがおかしいらしくてどこがおかしいかわかんない
39 レス · dat原文
クッキー保存して認証までいけるけどその後書き込みが吸い込まれるわ
ヘッダーのどこかしらがおかしくとばされてると思う
0ch+環境にしか書けん
てか書き込み部分がおかしくね?
いや認証行けてるんだからボディミスってるやんこれ
いやヘッダーがみすってんのか?
curlとかで叩いてみたら?
送ってるヘッダーとbodyはどんな感じ?
>>6
ちょっとまって
ボディがこれ
Accept-Encording: gzip;
Connection: keep-alive;
Content-Length: 111;
Content-Type: application/x-www-form-urlencoded;
cookie: SPID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
Host: d1ch.cc;
Range: bytes=0-;
Referer: http://d1ch.cc/edge/;
User-Agent: Monazilla/1.00 paraswrite/0.1.0-alpha (Linux; U; Android 13; sdk_gphone64_x86_64 Build/TE1A.220922.010);
ボディはMESSAGE=&FROM=&mail=&bbs=&key=&time=
をShift-JISのバイトデータ配列にしてPOST
>>8
こっちヘッダーだは
Secはログに表示されてないけど設定されてるはず
https://stackoverflow.com/questions/67324565/java-httpurlconnection-setrequestproperty-is-not-setting-custom-header-key
RangeとRefererはいるのかいらないのかわかんネ
http://age.s22.xrea.com/talk2ch/
細かいけどヘッダーはRangeがいらない
bodyはsubmitがない
http://age.s22.xrea.com/talk2ch/#post
「書き込む」「新規スレッド作成」で分岐してる
>>13
すいませんBodyサボって手打ちしたらsubmit入れ忘ました
実際のコードには入ってます
スレ立て時はsubmit=新規スレッド作成,keyの代わりにsubjectを入れるのも対応済み
もしかして知識浅すぎてもっと手前の部分で間違えているのか
%エンコーディングはしてる?
bbs,key,timeと記号&=を除いて…
URLエンコードするのはここだけでいいと認識しているが…
http://age.s22.xrea.com/talk2ch/#post
ポストするデータの内容
bbs
板キー
key
スレキー
time
2ch側の書き込みフォームが生成された時刻。time関数の戻り値である。
たいがいの2chブラウザはローカルで時刻を生成していたが、規制によって未来からの書き込みが禁止になった。 ローカルの時計が狂っていると永久に書き込めないのである。
そこで現在は、datを取得した時の応答ヘッダにあるDateヘッダの値から逆算するなどの工夫が取られている。
しかし、2ch側では有効期限をチェックしていない、ちょっとアレな仕様のため、適当に大昔の時刻を入れても大丈夫なのである。
submit
書き込みボタンのキャプション。通常は"書き込む"。文字列はURLエスケープしておきましょう。
これがないと「SJISで書いてね」とか怒られる。初めて2chとお話しすると、まずこの罠に嵌ります。
FROM
名前。URLエスケープしておく必要があります。FROMは大文字であることに注意!
>>17
またsubmit忘れた
ここもしてます
ていうかエラー状況書いてなかったわすんません
・クッキー設定→おそらくできてる
・初回同意画面→表示される
・認証画面→表示される
・認証後→レスが吸い込まれる(<title>書きこみました。</title>が表示されるが反映されない)
また、0ch+(ぷにぷに板)には問題なく書き込める
ふん
以上を踏まえてヘッダー~ボディに何かしらの不足、ミスがあるものとして色々いじってるんだけど3日くらい悩んでて🤷
ボディもう一回見直してみる
対応OSはなんの予定なのん?
Android
エミュレータが楽そうだったのでAndroidStudioで開発してますぶい……😭
優秀ですねぃ
選択肢は多いにこしたことはないから期待してるぷに
開発思想は「chmateの競争から逃げる」
スレ読み取り機能なんて高尚なものはつけてないから専ブラと言えるかは怪しい
今は書き込みすらまともに出来てないんだけどな🤣🤣🤣
bodyそのものを貼れる?
1ヶ月以内に仕上げるつもりだったのに納期が1週間も残ってねぇ
終わりだよこいつ
ちょいま
あかん30分すぎるわゆるして
FormData: MESSAGE=help+me&FROM=&mail=&bbs=edge&key=1695044732&submit=%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80&time=1695051025
ByteData: [77, 69, 83, 83, 65, 71, 69, 61, 104, 101, 108, 112, 43, 109, 101, 38, 70, 82, 79, 77, 61, 38, 109, 97, 105, 108, 61, 38, 98, 98, 115, 61, 101, 100, 103, 101, 38, 107, 101, 121, 61, 49, 54, 57, 53, 48, 52, 52, 55, 51, 50, 38, 115, 117, 98, 109, 105, 116, 61, 37, 69, 54, 37, 57, 66, 37, 66, 56, 37, 69, 51, 37, 56, 49, 37, 56, 68, 37, 69, 56, 37, 66, 69, 37, 66, 67, 37, 69, 51, 37, 56, 50, 37, 56, 48, 38, 116, 105, 109, 101, 61, 49, 54, 57, 53, 48, 53, 49, 48, 50, 53]
ByteLength: 111
FormDataがURLエンコード後の生データ
ByteDataがByte配列
ByteLengthが配列数
ByteDataを new DataoutputStreem(con.getOutputStreem()).write(byteData);で送信してるのでボディはこれ
関係あるかわからないけどエンコードされてたらMESSAGEはhelp%2Bmeになりそうだけど...
😱
空白を+に置換されるだけにしてた💦
でも書き込み不可には関係ない
音で起きたら妖精さんがやってくれてることに賭ける
遅くまでありがとうございますやでほんま
どういたしましてやで